一. 打包测试简介
-
何谓打包测试
- 所谓打包测试, 就是将正在开发的App, 打包为.ipa压缩包, 指定的设备安装这个.ipa压缩包就可以进行真机测试
-
打包测试的目的
- 作为开发人员, 当你开发的App完成度到一定阶段的时候, 就需要专门的测试人员对你的App进行测试, 查找bug. 但是你总不能让每一个测试人员拿着真机到你的电脑旁连接Xcode进行测试, 因此此时就需要打包测试
- 如果是外包公司的话, 当开发完App的时候, 想要给用户演示的话, 也需要打包为ipa包给客户体验
-
如何进行打包测试
- 打包测试与Xcode7.0之前做真机测试一样, 也需要繁琐的步骤, 因此很是麻烦
- 步骤: 准备好懵逼
- 登录苹果开发者的主页
- 生成打包测试证书: 在左侧的列表中选择Certificates(证书)的All选项 -> 右侧选择AppStore and Ad Hoc(打包测试用)
- 确定需要进行打包测试的App: 在左侧的列表中选择Identifiers的App IDs选项 -> 右侧选择App ID Suffix, 并且勾选Explicit App ID, 然后在下方输入你的App的Bundle ID
- 确定可以安装App测试包的设备: 在左侧的列表中选择Devices的ALL选项 -> 在右侧的右上方点击+号, 使用真机的UDID来添加一个真机设备
- 根据上面三项生成一个描述文件: 左侧列表中选择Provisioning Profiles -> 右侧点击右上角的+号, 然后下方选择Ad Hoc选项(打包测试类型), 生成一个描述文件
- 此时你的电脑上应该已经生成了3个文件, 分别为
-
CertificateSigningRequest.certSigningRequest
- cer证书: 他是跟电脑相关联的证书文件, 让你的电脑具备真机调试的功能
-
ios_distribution.cer
- 打包证书: 安装之后, 让你的计算机允许打包App
-
XXX.mobileprovision
- 该文件包含了三个信息: 打包证书的信息 + 设备UDID + App ID
-
- 至此, 各种与证书有关的操作暂时告一段落, 接下来准备打包
- 进行打包:
- 打开你的程序, 在运行设备中, 选为真机选项, 并且将Bundle Identifier改为开发者中心中, 生成的描述文件内一致的ID
- 点击TARGET -> Build Setting -> 搜索Code Signing:
- 检查Code Signing Identity是否与打包测试生成的是否一样
- 检查Provisioning Profile是否与打包测试生成的一样
- 在上侧菜单栏的Product -> Archive, 此时会弹出一个对话框, 提示是否允许访问钥匙串, 选择始终允许
- 在Archive界面, 选择要打包的App, 右侧边栏选择Export导出ipa包
- 点击导出, 会弹出四个选项, 这里选择
Save for Ad Hoc Deployment
测试打包 - 接下来选择对应的开发团队, 然后点击Choose
- 在弹出的三个选项中, 选择第一项
Export a universal app for all compatible devices
针对所有包含的设备, 生成一个通用的App - 最后, 会展示打包概述页面, 直接点击下一步就会生成ipa包了
- 至此蛋疼的步骤就都结束了,是不是很蛋疼呢? 但是为了解决用户希望测试项目的目的, 不弄也不成啊, ipa包可以使用iTunes来安装
二. 打包中可能出现的问题
- 在打包过程中, 遇到过一个很坑的问题, 反复折腾之后, 才明白原来是证书失效了
- 当提示错误:
Missing iOS Distribution signing identity for....
, 这就是由于你的钥匙串中的证书失效了大致的 - 系统的证书:
Apple World Wide Developer Relations Certificate Authority
这个证书过期了 - 解决方案: 在Apple官方网站重新下载一个证书, 并且重新安装
- 当提示错误: