在把ionic3整个应用都开发完毕后,打包发布需要分安卓和ios系统两块来做。
一、安卓
安卓包的环境配置和打包,参考:https://blog.csdn.net/qq_20264891/article/details/79319408
二、IOS
ios包需要在macbook下的Xcode来操作,这里使用OS虚拟机中配置环境来打包。
1、需要下载的包
unlocker208--破解后可支持OS系统安装
OS X 10.13.6--OS系统镜像
VMware12
XCode9--必须在https://www.ithome.com/html/mac/312273.htm下载
虚拟机和mac的安装配置见:https://www.ithome.com/html/mac/312273.htm
安装Xcode的时候,使用使用归档工具正常读取XIP在数码签名过后,就显示读取错误(代码:cpio read error: Undefined error: 0):
这是需要升级Mac系统。
具体步骤
一、需要用到的软件和网址
1、mac 终端
2、OS笔记本dmg镜像
3、nodejs 直接上网下载
4、ionic sudo npm i -g ionic@3.20.0
5、sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
6、IOS真机调试包
7、开发者中心:https://developer.apple.com/account/ios/profile/
8、苹果开发者软件下载:https://developer.apple.com/download/more/
步骤:
1、升级OS版本到最近,直接双击打开os dmg镜像文件进行安装
2、下载最近xcode,或者下载真机调式包(真机ios版本网站高于xcode中真机调式包,需要下载对应版本的调式包,复制到xcode安装目录 /Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport)
ios12.1 真机包链接:https://pan.baidu.com/s/1_ghHqOJENbM8q9jOKxez4A 密码:s17q
3、nodejs和ionic、cordova安装
nodejs v8.11.3
ionic 3.20.0
4、生成项目文件
ionic cordova platform rm ios
ionic cordova platform add ios
ionic build ios
打开platforms>ios>E学校教师端.xcodeproj,双击打开Xcode
(我在mac终端下执行总是不成功,运行ionic cordova platform add ios后,屏幕上不报错,但是当ionic build时,会提示有包没有安装,好像是被删掉了。
最后是在win7环境下,添加好ios platform,platform文件夹下会生成ios文件夹,然后在复制到mac中进行调试。)
5、到开发者中心,做好设置
1、证书(开发证书/发布证书)
调试时用开发证书,发布上线时用发布证书。创建证书需要上传csr私密文件,创建好后,下载cer文件,在mac上双击打开,将证书添加。这样Xcode在做singing签名时,就可以检测到本机的证书。
2、app ids
应用的唯一码
3、divece
指定设备,需要设备的udid唯一码
4、provision profile文件
配置文件,创建好之后下载在电脑上双击打开,添加到Xcode,签名时选要选择用到。注意:这个pp文件只会在本机调试用到,所以创建时只显示非推送证书,具体原因见:http://www.cocoachina.com/bbs/read.php?tid=191206
5、keys
6、进入Xcode进行签名
target>general>singing
这里提供了自动和手动两种签名方式,自动模式的话直接选择team,然后会自动匹配证书和pp文件进行签名。
手动需要配置debug和release两种情况,手动选择好对应的pp文件就行。(前提是已经下载在mac上双击导入)
7、
报错提示:
1、打开Xcode,进行签名操作时,选择合格的签名后,下面配置文件项提示:。。。doesn't include signing certificate。。。
在确保证书和配置文件都创建没有问题时,进入Build Settings>Code Signing Identity>分别改为iOS Developer/iOS Distribution即可。
2、在点击Xcode三角运行按钮时,提示真机设备的版本不被支持,那么久需要下载对应真机调式包,辅助到教程上面提到的文件夹
3、Xcode中运行时,报错a valid provisioning profile for this
可能的原因:
1、证书过期
2、设备未在开发者中心登录
3、pp文件过期