为什么在Xcode 6中会出现“无法定位或生成匹配的签名资产”错误?

80
我安装了 Xcode 6 GM seed,并尝试第一次创建 IPA 文件。成功归档后,当我点击导出按钮时,会弹出一个窗口,显示以下内容: 未能定位或生成匹配的签名资产 Xcode 尝试定位或生成匹配的签名资产,但由于以下问题而无法完成:
- 您的帐户已经拥有有效的 iOS 发布证书。 - 如果您在其他 Mac 上有签名身份,则可以导入开发人员配置文件。您也可以撤销当前证书并重新请求一个。
以下是错误的截图: enter image description here 请问有谁知道如何解决这个问题吗?

1
什么都对我没用 :( 下载 Xcode 5 是唯一的选择吗? - Igor Konoplyanko
1
很奇怪,“再试一次”对我起作用了。 - James
很遗憾,目前还没有确定的解决方案或修复方法。有人知道这是为什么吗? - Alok C
1
我也遇到了同样的问题,Xcode 7.2,但是没有找到解决方案。 - matinict
22个回答

24

在钥匙串中,-> 显示过期证书,然后在您的登录钥匙串中单击过期证书并将其删除。我也在我的系统钥匙串中有同样过期的证书,所以我也从那里删除了它。

-> 在从登录和系统钥匙串中删除过期证书后,从下面的链接下载证书并用钥匙串打开。

下载 https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 并添加到钥匙串访问 > 证书(有效期至2023年)

这解决了我的问题


3
这个解决方案中的下载内容解决了我的问题。在我下载之前,我的所有证书都被报告为无效用户。 - Magnus O.
谢谢这篇文章!它解决了我的问题。 - Joshua
谢谢!对于其他人:您不需要删除所有过期的开发证书,只需删除苹果公司的“全球开发者关系”证书。 - scosman
对我有效。 每个遇到这个问题的人都是在续订之前开发人员许可证过期了吗?这是我的情况,只是好奇其他人是否也是如此。 - ALTVisual
这很有帮助,因为我的钥匙串访问中既有旧的过期证书版本,也有同一证书的新版本。一旦我删除了过期的证书,它就可以正常找到新的证书了。 - Rozgonyi

20

我编辑了分发配置文件并重新下载,重新启动Xcode,然后它就可以工作了。


1
一样的情况,我只是重新保存了一个新配置文件,安装后再重启。一旦我这样做了,一切都正常工作了。 - warpedspeed
1
我只是在会员中心的预配资料列表中选择了它,选择了编辑,没有更改任何内容并保存。 - Jeremy Hicks
我撤销并创建了一个新的分发配置文件,下载后添加到Xcode中,一切都运行得很好 :) - Ulysses

10

我花了过去的6小时来寻找这个问题的答案,但没有令人满意的答案。因为没有人知道为什么会发生这种情况。

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile "Provisioning Profile Name"

注意:“Provisioning Profile Name”是证书名称字段中指定的名称(可从developer.apple.com查看)。

通过命令行生成.ipa文件的方法如上所示。如果能够成功,则明天我会在此更新。

感谢原作者在此

这个技巧对我起了作用。


3
当我在多个开发帐户/团队中时,遇到了这个错误。对于我来说,解决方案是确保以下所有内容都已正确设置:
  1. 我有一个分发证书和私钥,适用于应用程序所属的帐户(如果其他人制作了证书,则必须从他们那里获取私钥并安装它)。
  2. 我有一个特定的(不是通配符)应用程序ID (例如 com.mycompany.myapp)。
  3. 我有一个使用上述分发证书创建的配置文件, 以及上面提到的AppID。
当所有这些都就位时,您可以在Xcode中刷新您的帐户,然后您应该不会再收到该消息了...

3
我第一次也遇到了同样的问题,后来我发现在开发网站上有一个新的配置文件以XC:开头: 我重新启动了Xcode,Xcode自动找到了之前创建的XC:配置文件,并允许我签署应用程序。 看起来是重启Xcode并刷新签名(在上传/验证应用程序时进行签名)解决了问题。

重新启动了Xcode,它可以正常工作了。即使在Xcode 10中也是如此! - Saurabh Prajapati

2

这可能是您选择的团队有问题。如果您从其他未添加到您的xcode首选项中的苹果帐户创建了新的绑定ID,请按照以下步骤添加新的团队。

步骤1:进入xcode首选项。
步骤2:单击“帐户”选项卡。
步骤3:单击(+)图标以添加新帐户。
步骤4:使用开发人员帐户凭据登录
步骤5:单击“完成”

2

不确定为什么“使用本地签名资产”对我起作用了。


同样的问题。问题在于,当你选择团队时,Xcode会尝试通过请求开发者门户网站来确定签名“设置”。但由于某些未知原因,它无法完成此操作。在这种情况下的最后一招是使用本地签名资产。当然,如果您已经100%确定您已经正确地进行了本地“设置”。 - Yevhen Dubinin

1

我通过在成员中心重命名配置文件名称并在XCode 6中刷新来解决了这个问题。


1
我遇到了同样的问题。我确信我的配置文件和证书等都已正确设置。我在苹果开发门户网站上创建了所有这些内容,同时我的Xcode 6.2也打开了。下载完证书和配置文件后,我双击了两个文件,然后就能从Xcode中选择签名了。在此之前,不需要重新启动Xcode,因为新的配置文件可以从Xcode中选择。然后我对二进制文件进行了归档,并在Organizer中打开以进行提交。
但是问题来了,Organizer并不知道我的真实资产。所以,我们需要重新启动Organizer(Xcode)。我必须说这是苹果的一个错误,没有让Organizer知道更新的资产。在重新启动Organizer后,我提交了应用程序,它提示允许从钥匙串中签署证书

1

只有这种方法对我起了作用: 打开“钥匙串访问”应用程序,选择“查看” -> “显示过期证书”。删除所有过期的苹果证书! 重新启动Xcode。

参见:Xcode无法创建用于App Store提交或企业应用程序的分发构建 -> https://developer.apple.com/support/certificates/expiration/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接