Xcode 选择正确的代码签名方法

示例

如果您只是开始一个新项目,请务必考虑如何处理代码签名。

如果您不熟悉代码签名,请查看WWDC会话,该会话描述了Xcode中代码签名的基础知识。

要正确对应用程序进行代码签名,您必须在本地计算机上拥有以下资源:

  • 私钥(.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,则是推荐的代码签名方法

通过match,您可以将私钥和证书存储在git repo中,以在计算机之间同步它们。这使加入新团队成员和设置新Mac机器变得容易。这种方法是安全的,并且使用您已经使用的技术。

比赛入门要求您撤销现有证书。