ionic2/3实战-打包ios app

准备软硬件环境

  • 申请苹果开发者帐号
  • 打包必须在Mac OS(苹果系统)上进行(虚拟机和黑苹果一般都比较卡)
  • Mac OS上要装Xcode(IDE)
  • 如果要调试那肯定需要一台iPhone

注意: Mac OS系统版本要和Xcode版本号匹配,也就是旧版本Mac OS系统是不能安装新Xcode的.如果要在iPhone上调试app,那Xcode版本号就要和iPhone版本号匹配.所以最好全部使用最新版,然后不要轻易升级,升级一个就要升级另外一个,很麻烦
Xcode8去年就发布了,而且比Xcode7强大好用,建议使用Xcode8,本文也将使用Xcode8打包
Xcode,Mac OS,IOS官方下载地址,建议在App Store上下载

准备打包证书

  • 打包证书一直是个很麻烦的事,网上教程大把大把,我一人之言也说不清.现在提供我去年学习的一些教程和经验.至于你多长时间能搞定,看个人造化

iOS证书(.p12)和描述文件(.mobileprovision)申请
最新的 iOS 申请证书与发布流程(2016.7)
iOS-最全的App上架教程
2016最新iOS开发证书配置和安装的详细步骤攻略
iOS所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程
推送-iOS 证书 设置指南

  • 如果你们公司有专门的证书管理人员,那就简单点.需要给他提供:

1.你的开发者帐号
2.MacOS导出的证书请求文件(怎么导出上面链接基本都有教程)
3.你iPhone的UUID(上面链接中有教程)
4.你要申请的app证书详情,如下表格



5.如果需要开通推送功能,也要申请推送证书


  • 证书设置好了(一个开发证书,一个发布证书),那就下载证书并添加到钥匙串,没有下载权限就让证书管理员下载并导出发给你.注意只需要下载证书,不需要证书描述文件.如下图


  • 把下载的证书导入到钥匙串

你公司可能会开发很多app,所有app只需要一个发布证书;一个开发者一般会有一个开发证书,所以只需导入一个发布证书和一个开发证书到钥匙串.但每个app都要生成不同的证书描述文件,app描述文件用xcode下载就行(下面会讲),不用导入到钥匙串

  • 打开xcode登录开发者帐号并下载证书描述文件


  • 准备工作完成

苹果开发者官网有时候访问很慢甚至访问不了,也要做好心理准备

代码准备

  • 执行命令ionic serve先看项目能不能运行起来
  • 然后依次执行cordova platform rm ioscordova platform add ios
  • 最后执行ionic build ios看项目能不能build成功.

很多人build不成功就不知道干什么了,build失败会输出错误信息,请一定认真看错误日志
执行以上命令如果你需要加sudo前缀,可以看这里

  • 在Finder中找到platform/ios/目录,在webstorm如下图对ios目录右键可以打开ios目录.也可以使用命令open -R platforms/ios打开

  • 双击.codeproj文件,则会用xcode打开app

  • 用xcode打开app后,检查一下Plugins目录下有没有文件.如果Plugins目录是空目录你就不用继续往下执行了.肯定build有问题.尽管build可能没报错


设置app签名证书

方式1:自动签名

  • 如下图勾选Automatically manage signing并选择你的Team名称(发布证书)

  • 未启用自动签名的样子

方式2:手动签名

如上图如果app证书设置正确,xcode也下载了证书描述文件,则证书已经设置好了

在真机或模拟器上运行

  • 打包前最好在真机上运行一下,看能跑通吗.如果你很有自信可以跳过这步
    模拟器启动比较慢,最好选择真机,如下图选择


  • 选择好设备后,点击运行,稍等,看项目能运行起来吗


  • 如果运行失败,则在下面位置看日志


打包

  • 我们需要打包Release(正式版),所以如下图确保Archive选择Release(一般默认是Release)

  • 如下图选择Archive进行打包

如果Archive不可点击,如下图,请把设备选择为Generic iOS Device



  • 直到出现下图.说明打包已经成功了.然后可以选择导出ipa或上传应用到App Store.我在这里只演示导出ipa,如下图选择Export...


  • 操作上基本是一路点下一步,最后导出到桌面上



  • 选择自动或者手动签名,我这里演示手动(一般选择自动不能导出选择手动)



  • 选择导出的目录


  • 打包完成

其他

  • 如果app只修改了src下面的代码,不需要执行cordova platform rm ioscordova platform add ios,只需要执行ionic build ios,然后用xcode打开app,已经打开则不需要重新打开,签名证书之前设置好的也不需要重新设置

最后

  • 导出的ipa可以上传到蒲公英测试一下看是否ok
  • 最后放到我们自己的服务器,提供给用户下载,可以参考这里

推荐阅读更多精彩内容