前言
打包完Android版本以后我们再来尝试一下打包iOS版,毕竟能够把自己的应用成功发布到App Store还是一件很有成就感的事情,而且App在iPhone上运行体验是非一般的流程,所以我们就来看看iOS版的打包流程吧,安装在自己的手机上试一下。
必备前提
- 一台安装了Xcode的Mac电脑(某些教程说黑苹果系统也可以打包,这就属于黑科技了,不做讲解)
- (如需将App发布到App Store则必须,开发阶段可略过)一个apple开发者账号,请参考苹果开发者账号注册申请流程,个人账号和公司账号都需要缴纳99美金,折合人民币688左右(必须用Visa或者Mastercard国际信用卡支付,自己没有的话可以淘宝解决,万能的淘宝呀~~)
iOS版打包步骤
1.给Ionic2项目添加iOS平台支持
- 在项目根目录下执行以下命令:
ionic platform add ios
2.编译生成iOS打包所需的资源文件
ionic build ios
3.通过资源文件打开Xcode
如上图在执行了第二步的命令以后会自动生成该目录结构,然后在Finder中单击.xcarchive结尾的文件就会自动打开Xcode
4.在Xcode中运行App
如上图,打开Xcode就可以直接点击左上角的build按钮运行App了,可以选择在真机或各种型号的模拟器上运行。如果在真机上运行需要通过数据线将iPhone手机连接到Mac上,强烈推荐在真机上运行,因为虽然是Apple的模拟器,但还是没有真机快呀,同时也没有真机直观。
5.注意要点
- 我们发现无论是release还是debug打包出的App启动时间都很长,这是因为没有添加“--prod”参数,添加该参数以后打包命令会对JS做最优化处理大幅度,大幅度降低APP的启动时间。这里划重点了,所以强烈建议正式发布的版本添加参数“--prod”,也就是说正式的打包命令是“ionic build android --release --prod”。(因为加了该参数以后打包命令执行时间会变得很长很长,所以测试的时候不加该参数就好了)
- 如果APP在手机上打开以后发现是白屏,不要着急不要害怕,教你一招解决。请在config.xml配置文件中添加下行:
<preference name="loadUrlTimeoutValue" value="60000" />
- 推荐在config.xml配置文件中添加下行(可以去掉开屏小圈):
<preference name="ShowSplashScreenSpinner" value="false"/>
- 如果觉得启动页面的画面显示的时间太长可以修改下行的时间参数(默认为3秒):
<preference name="SplashScreenDelay" value="3000"/>
最后说两句
至此,iOS版已经成功运行,中间其实也遇到了一些错误,虽然我也从来没开发过iOS客户端程序,但是凭着多年掌握的重启程序和Google错误编码的丰富经验还是都可以一一解决,所以遇到错误不要担心,看好说明解决之即可。
关于如何将打包好的iOS版App发布到App Store又是一个复杂的过程,虽然最近苹果已经做了诸多的流程改进,各种密钥和证书都可以自动生成,但还是会遇到各种各样的问题,所以后续再写一篇文章专题讲解。