选择正确的代码签名方法
如果你刚刚开始一个新项目,那么考虑如何处理代码签名非常重要。
如果你不熟悉代码签名,请查看描述 Xcode 代码签名基础知识的 WWDC 会话 。
要对你的应用进行正确的代码签名,你必须在本地计算机上拥有以下资源:
- 私钥(
.p12文件) - 证书(
.cer文件),与私钥匹配 - 配置文件(
.mobileprovision文件),与本地安装的证书和私钥相匹配
在 Apple Developer Portal 上,还需要具有与你的配置文件关联的有效 App ID。
使用 Xcode 的代码签名功能
有时,作为配置文件的 Automatic 设置无法可靠地工作,因为它只会选择最近更新的配置文件,无论是否安装了证书。
这就是为什么建议以某种方式指定特定的配置文件:
Xcode 7 及更低版本
你应该避免点击 Fix Issue 按钮(有一个禁用按钮的 Xcode 插件 ),因为它有时会撤销现有的证书,并随之撤销配置文件。
遗憾的是,你无法在 Xcode 7 中指定配置文件的名称。你可以指定配置文件的 UUID,每次重新生成配置文件时都会更改(例如,当你添加新设备时)。
要解决此问题,请查看 XcodeProject.md ,了解在构建应用程序时如何将配置文件传递给 Xcode。
Xcode 8 及以上
随着 Xcode 8 的发布,Apple 改进了代码签名,以下内容发生了变化:
- 不再使用
Fix Issue按钮,而是所有代码签名进程在后台运行并在 Xcode 中显示正确的日志 - 你现在可以按名称而不是 UUID 指定配置文件( 有关更多信息,请查看 XcodeProject.md )
- 出现问题时改进错误消息。如果你遇到代码签名错误,你应该尝试使用 Xcode 构建和签名以获取更详细的错误信息。 (查看 Troubleshooting.md 以获取更多信息)
手动
你始终可以使用 Apple Developer Portal 手动创建和管理证书和配置文件。确保将证书的私钥(.p12)存放在安全的地方,因为如果丢失证书,则无法恢复。
你始终可以从 Apple Developer Portal 下载证书(.cer)和配置文件(.mobileprovision)。
如果你撤销证书或证书过期,则所有关联的配置文件都将无效。
使用 fastlane 匹配
匹配的概念在代码签名指南中描述,如果你使用 fastlane ,则建议使用代码签名方法
通过匹配, 你可以将私钥和证书存储在 git 仓库中,以便跨机器同步它们。这样可以轻松加入新的团队成员并设置新的 Mac 计算机。这种方法是安全的, 并使用你已经使用的技术。
匹配入门要求你撤销现有证书。