ionic2实战-打包ios app

作者: 昵称已被使用_ | 来源:发表于2017-04-28 10:24 被阅读10561次

准备软硬件环境

  • 申请苹果开发者帐号
  • 打包必须在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
  • 最后放到我们自己的服务器,提供给用户下载,可以参考这里

相关文章

网友评论

  • e4e074a62da6:您好,我打包成功之后将包导出时,选择得Enterprise后选择证书描述文件时一直报profile is not an ios in house profile,但是感觉证书没有问题,请问是什么原因呢。
    洗耳恭听_kai:我也是,你有解决吗?
  • 五阿哥的bug:大神,我在运行Cordova platform add ios 的时候,总是报错说config-file preference is not set,如果忽略这一步再往下进行用xcode build的时候报 swift compiler error: generator has been renamed to iterator这个错,这是怎么回事?求指导
  • 鲨鱼巨人:大神你好,我到了手动签名的第二步,就显示的和你不一样了,解决不了,方便指点一下吗
    鲨鱼巨人:@小军617 我解决了,真尴尬, 手动和自动都设置了,两个不匹配
    昵称已被使用_:@鲨鱼巨人 xcode版本有更新,界面可能显示不一样.如果你的证书设置没问题,用自动签名比较方便
  • 撸到超鬼:看了这么多教程和资料,军哥这个是目前看过最好的了,之前在一些步骤钻了好久的牛角尖,看了军哥的才解决了问题,真的感谢!
  • 光脚丫的孩子:一如既往的观看你的文章,挺棒,谢谢你,学习了很多!
  • 不错哦_e6d8:你好,不太明白为什么就几个页面 .ipa包 会导致30多m,先执行 sudo ionic cordova build ios --prod --release 在用xcode archive打包,明白可能是那部出得问题吗
    昵称已被使用_:不明白.:smile: ,你重新打包一个空白的app看看
  • 巴拉拉能量:大神你好,请问怎样在苹果手机上不需要打包来进行测试
    巴拉拉能量:@小军617 谢谢
    昵称已被使用_:@巴拉拉能量 在这里看ios真机调试适不适合你http://www.jianshu.com/p/e23cb7d720fd
  • 巴山1:大神你好,我这边不需要上传到苹果商店,只需要打包成ipa,可以安装到真机测试,没有开发者账户和证书该如何操作
    昵称已被使用_:@巴山1 没有帐号打包,没研究过.
  • CK110:楼主,你好,请问 企业账号,内部应用发布以后,怎么通知用户升级版本?
    昵称已被使用_:@CK怪我咯 每次登录,检查是否有新版本,或者做推送
  • SilveryApril:你好,我想请问一下,在打包ipa的时候,虽然我选用的和你一样的tabs模版,但是打包出来的大小却有13.7M,而不是像你帖子里的8.3M,这是什么原因呢?会是ionic版本的原因吗?我的ionic版本是3.0.0的。
  • 2c556ee0e430:你好,请问你了解关于如何打包成windows 桌面应用窗体程序吗?
    昵称已被使用_:@单蒓v 不了解
  • WellDragon:大神你好,我打包ios的时候加上-prod,可以打包成功,但是没有加载到ngc,打包出来的效果也不是aot的效果,是什么原因呢?

本文标题:ionic2实战-打包ios app

本文链接:https://www.haomeiwen.com/subject/fregzttx.html