IOS应用开发调研报告

  • 一、开发方案

 

 

1、直接使用现有框架

从github上检索 IOS webview 或者 OC webview 可以搜索到一些开源框架,例如:

https://github.com/marcuswestin/WebViewJavascriptBridge

但是从这些项目的描述来看,都是提供IOS开发语言Object-C与 JS 语言的一个通信桥梁。需要使用此类框架首先也需要有开发语言的学习时间成本,后期具体功能的扩展需要自己去做,同样需要了解IOS的系统功能。

2、云打包

使用云打包只需要提供前端页面入口地址,由云端打包生成应用,如之前开发安卓框架前了解一样,例如Hbuilder这种方式。其提供了部分natvie端接口说明,但是文档说明比较差,出现问题无法联合调试解决,因为无法获知native端的实现,有可能出现测试出的问题无法解决,不利于维护。类似开源项目有:

https://github.com/nabilfreeman/ios-universal-webview-boilerplate

 

3、自主开发框架

如同开发安卓基于webview的App框架一样,需要基于IOS系统在其平台上开发应用,前端页面需要的native端功能由自己实现,提供统一接口给前端,便于问题的调试解决和后期维护,需要一定的学习时间和成本。根据项目时间可以有不同的开发方式:如果开发周期短,可以选择外包开发+自主维护,即招聘具有三年左右IOS开发经验的工程师完成这个框架和目前我们所需功能的开发,期间我司人员对接学习,后续接收维护,预估大概一个月左右能完成。如果开发周期相对比较长,可以自研,从零开始学习搭建环境,开发应用,预估时间大概四个月左右能有可用框架(语言学习和环境搭建一个月左右、IOS应用打包运行和基本常用功能调试一个半月左右、项目需求特定IOS系统功能半个月左右,基于webkit前端开发调试一个月左右)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 二、开发路线

 

关于IOS应用基于webview开发的可行性之前已经做过调研,其中已经对于苹果公司对于应用的审核规则进行了说明:

https://developer.apple.com/cn/app-store/review/guidelines/

 

对于使用网页来展示界面的应用开发,其中没有明确声明禁止,只有如下表述:

  1. 仅使用标准 WebKit 视图中提供的功能 (例如,它必须在 Safari 浏览器中原生打开和运行,且无需修改也无需其他软件);您的 app 必须使用 WebKit 和 JavaScript Core 来运行第三方软件,且不得试图扩展或披露原生平台 API 给第三方软件;

并且从github上查看到的项目来看,应该有很多IOS应用也是继承了开源框架,使用基于webview来展示界面的开发方式,所以可以使用混合开发方式来进行应用开发。

 

开发的线路规划主要分为如下几个大的步骤:

 

  1. 开发语言的学习和使用;

IOS开发采用Object-C 或者 Swift, 基于Swift是2014年才推出来的语言,资料和成熟度不如OC,所以采用OC语言来开发学习。

 

  1. 应用打包运行调,展现基本界面;

移动端应用的开发要能正常运行起来,必须先熟悉好整个开发环境,能够完成基本界面绘制,并打包程序,在设备上运行起来。

 

  1. IOS系统功能学习使用;

基于苹果系统提供的功能,在自己开发的应用中去使用需要的基本功能。

 

  1. 基于webview开发;

有了前面的各种功能作为基础提供后,在IOS应用中适配使用webkit来加载html页面,并封装接口提供给前端使用,联合调试功能。

 

 

 

 

 

 

 

 

 

 

 

 

  • 三、开发具体阶段细化

 

  1. 账号申请和环境搭建。

根据我们公司的开发需要,需要申请一个公司开发者账号,账号的申请周期比较长,首先需要提供AppleId, 并且要开启双重认证,即账号必须要绑定一个设备进行登录,iphone,iPad, Mac 都可以。

具体操作可参阅文档:

https://www.jianshu.com/p/dafa8a1c3373

 

 

开发环境的搭建,目前已经试过使用虚拟机来搭建黑苹果,安装Xcode工具,主要过程如下文档所述:

https://www.jianshu.com/p/ce50dbecdff9

只是其中的破解工具版本太低,会出现无法找到MAC OS的情况,需要使用如下补丁工具来运行:

https://github.com/DrDonk/unlocker

 

虽然本机电脑内存16G,但是由于磁盘不是SSD,运行起来仍然会很卡,并且虚拟机中的分辨率不能很好地适配屏幕,在进行学习调试时操作非常不便。在使用过程中,由于黑苹果镜像的版本问题,对于安装的工具版本都有限制,Xcode工具尝试了三个版本才安装成功,最终选择了7.*的版本。但是苹果官网上面声明从2019年三月开始,需要上架的App需要继承IOS 12.1版本以上的SDK,并且需要用XCode 10.1版本以上的工具打包才可以。

 

应用最终上架依赖于在MAC上使用的工具XCode 或者 Application Loader,虽然有那种在windows端使用的马甲工具appuploader, 但是没有尝试过。基于开发的便利和效率需要,请准备一台MAC设备,Mac Mini也可以,请准备一台MAC设备,Mac Mini也可以,请准备一台MAC设备,Mac Mini也可以。

 

  1. Xcode工具下学习OC语言。

  Object-C 语言是将C语言增加了面向对象的功能,基础语法和C语言类似,此部分可以参照如下两部分教程进行练习:

https://www.yiibai.com/objective_c/objective_c_overview.html

 

https://blog.csdn.net/jiangwei0910410003/article/details/41928347

 

  1. 应用打包,运行基本功能。

  学习IOS应用开发的基本功能,打包运行:

https://study.163.com/course/introduction.htm?courseId=1002858003#/courseDetail

根据安卓这边移动开发的经验,基本功能主要包括:界面布局、组件使用、服务使用、消息事件机制、资源访问、本地数据存储、网络访问、文件访问、权限问题。

 

  1. 特定系统功能使用

  根据官方开发文档中提供的API说明,调用系统功能:

https://developer.apple.com/documentation

目前我们项目的需求功能为:拍照、录像、扫描、定位、IMEI获取。

 

  1. Webview开发。

  根据官网说明,适配webview开发:

https://developer.apple.com/documentation/webkit/

 

 

 

 

 

  • 四、预算

 

  1. 公司开发者账号,99美元一年;

 

  1. 开发设备

 

常规版:

MAC mini 设备 + 显示器鼠标键盘

https://www.apple.com/cn/shop/buy-mac/mac-mini/MRTT2CH/A#

3.0GHz 六核第八代 Intel Core i5 处理器 (Turbo Boost 最高可达 4.1GHz)

8GB 2666MHz DDR4

256GB 固态硬盘

8669

 

https://item.jd.com/5375281.html#none

AOCQ2490PXQ

¥1299

 

 

 

整机IMAC

https://www.apple.com/cn/shop/buy-mac/imac/MMQA2CH/A#

2.3GHz 双核第七代 Intel Core i5 处理器 (Turbo Boost 最高可达 3.6GHz)

8GB 2133MHz DDR4

256GB 固态硬盘

9858

 

 

 

砍价版:

MAC mini 设备 + 显示器鼠标键盘

https://www.apple.com/cn/shop/buy-mac/mac-mini/MRTR2CH/A#

3.6GHz 四核第八代 Intel Core i3 处理器

8GB 2666MHz DDR4

128GB 固态硬盘

6331

 

https://item.jd.com/100004309184.html#crumb-wrap

OCI2490PXH5    

¥949

 

整机方案IMAC

https://www.apple.com/cn/shop/buy-mac/imac/MMQA2CH/A#

2.3GHz 双核第七代 Intel Core i5 处理器 (Turbo Boost 最高可达 3.6GHz)

8GB 2133MHz DDR4

1TB Serial ATA 硬盘 (5400 rpm)

8390

 

 

  1. 调试测试设备

 

可采购一台二手iphone

https://item.jd.com/4226904.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值