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

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


当前回答

同样的错误。 配置文件似乎更新了,添加了新的证书,我甚至在下载时检查了它。还撤销了前开发商的证书,排除在提供配置文件。 但是Xcode仍然在问我之前的证书有错误:

No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found

那么,我是怎么解决的呢:

去构建设置->签名->代码签名标识 找到所有“FORMER_DEVELOPER”证书并选择所需的证书。

希望它能帮助到一些人。

其他回答

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

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

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

Delete the developer certificate that does not have a private key. Delete the provisioning profile from your machine using go to folder (~/Library/MobileDevice/Provisioning Profiles) Then first check then uncheck the Automatically manage signing option in the project settings with selecting team. Sing in Apple developer account and edit the provisioning profile selecting all available developer certificates then download and add to XCODE. Select the provisioning profile and code signing identity in project build settings

您还可以使用Fastlane工具包解决代码签名问题。作者投入了大量精力来有效地自动化构建、签名iOS应用程序(等等)。

因此,在上述套件中,有一个工具sigh,它神奇地解决了任何签名问题,因此得名:)这里的好处是,这个工具封装了关于常见签名问题的知识,可以检测和解决大多数问题。

Fastlane安装为Ruby gem:

Gem安装fastlane

然后简单地引用:

快速的叹息——发展

回答两个问题,瞧:

[11:56:55]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:57:01]: Creating new provisioning profile for 'com.myapp' with name 'com.myapp Development'
[11:57:06]: Downloading provisioning profile...
[11:57:09]: Successfully downloaded provisioning profile...
[11:57:09]: Installing provisioning profile...

最后,进入Build Settings -> Signing,切换到新创建的配置文件,其名称您刚刚在命令回显中看到。

此示例用于开发代码签名问题(在设备上运行)。查看所有其他选项的叹息文档。

I haven't seen this mentioned yet but if you are still having issues after recreating your provisioning profiles, deleting the existing ones you have in your Provision Profiles folder, checking for dupes in your Keychain, etc (all other answers ITT), open your Target > Build Settings > Code Signing and make sure everything looks consistent in there. For example, I had changed the Code Signing Identify for Debug to a Distribution identity, which obviously wouldn't work as the Development Provisioning Profile doesn't have the Distribution certificate and was causing the error in the first place.

对于那些仍然在Xcode8中与这个问题作斗争的人。对于我来说,这是一个重复的证书问题,这是我解决它的方法:

我读了尼克的回答,然后开始了我的调查。我检查了我的特定案例中的所有密钥和证书(在~/Library/Keychains/System.keychain中)。

When I opened the file, I found that I had two iPhone Distribution Certificates (that was the certificate that Xcode was requesting me), one with the iOS Distribution private key that I have been using since the beginning, and another iPhone Distribution Certificate which its private Key had a name (iOS Distribution:NAME) that wasn´t familiar for me. I deleted this last certificate, started Xcode again and the problem was gone. xCode wasn´t able to resolve that conflict and that´s why it was giving signing certificate error all the time.

检查你的钥匙链,也许你有一个重复的证书。