这事让我非常担心。我刚刚下载了iPhone 3.0 SDK,但现在我无法让我的配置文件工作。以下是我的尝试:

删除所有配置配置文件 删除登录keychain 创建新的“登录”钥匙链,使它 默认的 创建一个新的证书签名请求 创建新的开发人员和分销渠道 证书在苹果开发者中心 下载并安装它们 下载并安装WWDR证书 创建一个新的配置文件和 双击它来安装

所有的证书报告都是有效的,但是Xcode仍然不能识别它们。接下来我该试试什么?

编辑:

我完全重新安装了Mac OS X,从一个新的安装安装了3.0 SDK,仍然有同样的问题。


当前回答

对我来说,只有当证书和两个密钥都在Login keychain中时,它才有效。我之前创建了一个开发钥匙链,但是Xcode管理器在那里找不到钥匙。所以我把它们移回登录,退出钥匙链工具-瞧,Xcode管理器中的错误消失了!这是在3.1.3 SDK的雪豹10.6.2上。

其他回答

确保这种情况干净地发生的一个好方法是首先完全清理您的登录密钥链。

另外,一个非常重要的步骤是在导入私钥和公钥之前解锁您的钥匙链

 security unlock-keychain -p password ~/Library/Keychains/login.keychain 

将私钥导入登录keychain:

security import PrivateKey.p12 -k ~/Library/Keychains/login.keychain 

导入1个身份。

将公钥导入登录keychain:

security import PublicKeyName.pem -k ~/Library/Keychains/login.keychain 

1键导入。

我登录了开发人员帐户并撤销了开发证书。撤销和下载开发证书后,我双击新下载的证书,这一次私钥在开发证书下的KeyChain访问。

我也遇到过同样的问题。这是因为证书的私钥在您的机器上不存在。

If you are now using a new machine and download the certificate from website: You can export the certificate from the old machine and then import on the new machine. If you share the developer account with someone: You ask the account owner to send you an invitation and become a team member of that account. Then you can create your own certificate from scratch. If you don't want to handle all these sh*t: Just revoke the certificate on website and delete the copy on your local machine. Then request a new one. This should be the ultimate way for solving such issue.

以下是我所做的。

Make sure your certificates have not expired, make sure you delete all the expired ones. Get new ones etc, Once you have make sure all that is the way it should be, then focus on your project files. in finder , go to your .xcodeproj files then show package contentes. open project.pbxproj in xcode or textedit. find every refrense to PROVISIONING_PROFILE and remove the GUID, just leave empty "" Depending on your project you should have about 12+ refrences, remove all of the GUIDS. Save file, then reopen your project in XCODE Re select the correct provision profiles for all possible code signings( they should not all be the same) Build your project and you should be good to go.

我认为Xcode在某种程度上混淆了,从项目中删除了所有的Provision Profiles。Pbxproj,然后重新选择一个有效的配置文件将使它直。

For Xcode 13 (maybe earlier?) - The key to this is to use the "Build Settings" tab, not the "Signing and Capabilities" tab in your Target Settings. Once you are in "Build Settings", search for the "Signing" section (you can type "Signing" in the search box). There you will see a sub-section called Code Signing Identity. In that section you can click on each line and directly choose any certificate you have in your keychain. You need to do that for all of the relevant configurations (the ones that you want to upload to TestFlight/AppStore). When you go back to the "Signing and Capabilities" tab, you should see the results of what you did and the error should have gone away.

我从下面的答案中得到了灵感:https://stackoverflow.com/a/37043501/826946

但我认为明确地列出这一点可能会有所帮助。