IOS打包踩的坑
搞了一周,终于搞定了IOS自动打包,记录一下。
IOS打包的过程其实非常简单,整个打包过程也就三条命令(清理,编译,打包),但是由于之前有安卓打包的经验,在IOS打包的初期就按照安卓打包的方式来进行,导致走了很多弯路,这里说一下IOS打包遇到的一些坑。
(1)操作系统版本还有Xcode版本,保持和IOS开发人员版本一致,或者高于他们,但是不能低。
(2)IOS需要用到的证书比较多,开发者证书,P12证书,Mobileprovision文件,开发者帐号,如果缺少一个就会导致打包失败。
(3)配置好开发环境之后不要直接在命令行打包,先让开发帮你在Xcode图形界面打包一遍,看看有没有问题,如果图形界面打包没有问题,那么就可以在命令行打包了。
打包环境配置
苹果的系统还有Xcode安装,我个人觉得要比在centos下配置安卓的开发环境简单的多,都是图形界面安装,而且只需要在苹果系统上面安装一个xocode就好了,没有什么太高的技术含量,只要安装的版本不低于开发使用的版本即可。
打包用到的证书说明
注意:打包用到的证书文件还有开发者帐号直接找公司ios开发要就可以了,证书配置都非常简单,直接双击导入,开发者帐号需要打开Xcode手动添加下,也没有什么难度。
开发者证书(cer):这个cer文件包含了开发者信息和公钥,双击导入到本地钥匙串,他与本地钥匙串的私钥匹配之后,开发者就可以使用他了。
证书P12文件:当cer文件安装到本地并于本机私钥吻合之后。就可以生产p12文件。P12文件 = CER文件 + 私钥。
Mobileprovision文件:如果说开发者证书让苹果相信你是一个合法的开发者的话,那么这个许可证就是为了让你调试的真机设备(iPhone,ipad)被认为时刻合法的测试设备。这个许可证就是设备的信任凭证。当APP安装到真机上的时候,APP里的许可证信息和iPhone里的许可证如果匹配的话,就可以装的上了,否则就没法装上的。
开发者帐号:用来验证开发者身份。
开发者帐号添加
证书配置
证书在双击之后就会添加到钥匙串中,这个时候在图形界面打包是可以用的,但是命令行还有一点小问题,需要设置你的证书允许所有程序访问,不然自动打包会询问是否运行Xcode使用;设置方法如下所示:
1.在应用程序里搜索Keychain Access,中文叫钥匙串访问权限
2.找到你的证书,右击 — 显示简介 — 访问控制 — 选中【允许所有应用程序访问此项目】 — 存储更攺 — 输入密码后保存更攺,解决问题。
命令行打包
再次提醒,在使用命令行打包之前,请确定你图形界面打包是成功的,如果图形界面打包没问题,在进行命令行下打包。
打包命令:
第一步清理:xcodebuild clean
第二步编译:xcodebuild
第三步打包:xcrun -sdk iphoneos PackageApplication -v 代码目录/build/Release-iphoneos/app安装包名称 -o ipa安装包导出路径
打包完成之后,就可以把ipa拷贝到你们公司的共享服务器了。
IOS自动打包
如果你能在命令行打出ipa包,那么写自动打包脚本也不是什么问题,我这里就不提供模版了,提供一下流程,非常简单。
(1)拉取最新的代码
(2)执行打包命令
(3)复制ipa到共享服务器