导语:ionic打包ios需要用到xcode、开发者账号、开发证书、发布证书、证书描述文件。如果没有开发者账号,请先去注册开发者账号,本文从创建证书开始讲起。
一、创建证书前的准备
1)、使用苹果电脑打开钥匙串访问。
2)、点击钥匙串访问 >>证书助理>>从证书颁发机构请求证书
3)、填写信息,并把生成的.certSigningReuqest文件保存到桌面。
二、创建证书
1)、打开https://developer.apple.com网址创建我们需要的证书
2)、使用开发者账号登录
3)、打开创建证书页面
4)、成功打开之后可以看到如下页面
5)选择Certificates新建证书,点击‘+’号按钮
6)、选择创建证书的类型
7)、选择钥匙串访问生成的文件
8)、证书创建完成
三、创建项目ID
1)、选择App IDs新建项目id
2)、填写项目唯一标识符(包名)
四、添加真机调试设备
1)、选择Devices 点击+号新建
2)、填写设备的UUID
3)、获取设备的UUID,使用USB连接你的设备到电脑,并打开iTunes
五、创建证书描述文件
1)、选择Provisioning Profiles
2)、选择描述文件的类型
3)、选择项目ID
4)、选择证书
5)、选择调试设备
6)、填写描述文件名称
7)、下载描述文件,双击运行。
六、在xcode中打开ionic项目
1)、双击运行项目下的/platforms/ios/xxx.xcodeproj文件.
如果没有,记得先ionic platform add ios添加ios项目
2)、打开后我们单击项目名
3)、单击TARGETS下的项目,就可以看到打包的设置面板
七、设置自动签名
1)、点击Build Settings,往下拉,找到Signing
2)、点击启用。
3)、选择自动签名的证书(如果之前成功下载证书并且已经添加到钥匙串访问)
八、设置手动签名
1)、点击Build Settings,往下拉,找到Signing
2)、选择证书
九、打包
1)、选择Generic iOS Device
2)、在Product下选择Archive
3)、打包成功
4)、导出企业版
5)、选择发布证书
6)、导出兼容所有设备
7)、导出到本地磁盘
8)、在本地磁盘查看ipa
十、添加微信白名单
1)、打包成功后发现微信支付不可用,真机调试打印错误--‘微信未安装’
error:"This app is not allowed to query for scheme weixin"
2)、在info.plist中的 LSApplicationQueriesSchemes 把微信加入白名单
注意 LSApplicationQueriesSchemes 的类型是Array。
3)、如果需要把别的应用加入白名单,就继续在LSApplicationQueriesSchemes下面添加item,添加的名称根据报错的信息来填
如果提示你‘吃不饱’未安装,你就在info.plist中添加‘吃不饱’!
结语:到这里ionic打包iOS就已经完成了。下面总结一下几点需要注意的地方
1、我们用钥匙串生成的.certSigningReuqest文件,只有在当前电脑本地生成的,然后上传到开发者账号创建证书,这样下载下来的.cer文件运行后,钥匙串才有证书及对应的秘钥,这样才能正常使用。
2、证书分为开发和发布两种,不管是真机调试还是上传到AppStore都是需要的,用来证明自己开发者的身份。
3、Provisioning Profiles证书描述文件,它把我们的项目ID,开发证书、硬件调试设备Device绑定到一块。不管是真机调试,还是发布,都离不开它。
4、用xcode打开iOS项目是双击运行platform/ios/xxx.xcodeproj文件。
5、info.plist中的 LSApplicationQueriesSchemes 可能是没有的,需要我们手动添加
6、使用微信支付的插件,如果没有描述文件package.json,在cordova7.0是装不上的,降低到cordova6.5就可以了
卸载cordova: npm uninstall -g cordova
安装指定版本cordova: npm install -g cordova@6.5.0