Xcode 8显示配置配置文件不包含签名证书的错误。

此问题仅适用于Xcode-8和Xcode 7,相同的配置文件显示相关已识别的证书。


当前回答

如果您尝试将应用程序上传到iTunes Connect(您的供应配置文件设置为分发),请转到项目设置->构建设置->代码签名。请确保将所有调试和发布选项设置为您的分发配置文件。

其他回答

有很多方法可以解决这个问题,比如启用自动签名等。但是如果您想了解这个错误的原因,您需要查看错误消息。

它表示您在“常规”选项卡中选择的配置文件不包含您在“构建设置”中选择的签名证书->“代码签名标识”。

通常,如果在“生成设置”下为调试标识选择了分发证书->“代码签名标识”,则会发生这种情况。

如果这发生在“签名(调试)”下,也可能是“签名身份”->“iOS开发”不包括在配置配置文件中。

我为此挣扎了很多天。

步骤1: 删除所有证书,配置文件,appID,密钥等从开发帐户。

步骤2: 重新创建推送通知证书、配置文件、应用ID等。

步骤3: 从keychain中删除所有证书。

步骤4: 清除~/Library/MobileDevice/ provisioning Profiles中的所有配置文件。

步骤5: 只添加了所需的配置文件并进行了测试。它工作得很好。

值得注意的是,自动签名每次都失败了,直到我手动删除了本地配置文件: ~ /图书馆/ MobileDevice /配置概要文件

在这之后,自动签名工作得很好,它从苹果服务器上获得了正确的配置文件。

这只影响了一些构建,特别是那些我手动为手表应用程序创建配置文件的构建。

如果你使用手动签名(我非常鼓励),这个错误可能会发生,因为Xcode认为它应该用开发人员证书来签署发布版本,而这显然不包括在发布配置文件中。

有一个生成设置定义了哪个证书应该用于哪个生成配置。要更改它,请转到构建设置并搜索代码签名标识。当展开时,每个构建配置(通常是调试和发布)都应该有单独的行,第二列是其选择的标识(通常是iOS Developer或iOS Distribution)。确保为每个构建配置设置了正确的标识。

在某些情况下,还可以扩展构建配置。确保它的子项也被设置为正确的标识。

检查您的钥匙串,查找缺少私钥的身份。我为同一个团队安装了多个分发证书,其中一个缺少私钥。Xcode只检查密钥链中第一个匹配的标识,并自动使用这个标识,而不是包含私钥的标识。

删除没有私钥的匹配标识使Xcode再次检测到正确的标识。