Xcode6错误:"找不到适配的应用程序配置文件"

61

我正在尝试在Xcode6中提交我的iOS应用程序。当我在组织器中点击“提交”或“验证”时,会弹出一个窗口,显示以下内容:

找不到或生成匹配的签名资产失败:

Xcode试图查找或生成匹配的签名资产,但由于以下问题而未能成功:

找不到与"Applications/MyApp.app”匹配的配置文件

没有任何有效的配置文件允许指定的权利:应用程序标识符、测试版报告活动、钥匙串访问组。

我已经在成员中心为此应用程序创建了分发配置文件,并且它在Xcode中出现了。我已经四处看了看,在线上也没有找到任何可以帮助我解决这个问题的信息。有谁能提供帮助吗?谢谢。

Andy

18个回答

57

你的问题有几种可能性,但是经验和其他 SO 答案得出的主要原因是以下:

  1. 您的证书或配置文件已过期,此时您需要重新生成您的配置文件。我以前也遇到了这个问题,但是 Apple 已经(部分地)描述了这个问题。
  2. 您还没有在 Build Settings/Code Signing 区域设置配置文件和适当的证书。验证 General/Identity 中的 Team,并确保您的配置文件已正确设置。

    来自 Xcode 5: Code signing entitlement errors(图像有点过时,但与 Xcode 6 相同): Build Settings Code Signing section

  3. 您正在使用 Xcode 的 beta 版本。
  4. @jaytrixz 表示:“我刚刚在构建设置中的 Code Signing Entitlements 中删除了 Entitlements.plist”,这可能有效。确保您的配置文件正确配置。

2
我解决了。在设置证书和配置文件后,我没有创建新的存档。现在它可以工作了。谢谢。 - Andy Schweig
14
没关系。我只是在Xcode的构建设置中的代码签名授权下删除了Entitlements.plist,并继续了整个过程,因为预配文件已经对它进行了配置。 - jaytrixz
有同样的问题,但问题是组名错误,与应用程序ID对应的组不同(我不知道这是我的错误还是某个Xcode bug更改了设置)。 - Idan
5
了解这个错误可能是由于在“发布”/存档构建中使用“开发”签名造成的,与错误的授权、错误的配置文件等直接无关。这个错误信息会产生误导,完全浪费时间。 - harry
1
在Xcode 8中,我必须取消“自动管理签名”,并手动指定我的分发证书和配置文件。 - Richard Lovejoy
显示剩余11条评论

41

正如jaytrixz在评论中写道...

“我在构建设置的代码签名授权下删除了Entitlements.plist”

我也做了同样的事情,在尝试其他方法一个小时后,它终于起作用了!


1
请确保此后您的iCloud(如果有)正常工作。 - Vladimir Shutyuk
1
这对我也起作用了。我试图运行HMCatalog(来自Apple的示例HomeKit数据库应用程序)。为了使其构建和运行,我从xcode项目设置中的Targets-> HMCatalog-> Code Signing-> Code Signing Entitlements中删除了“HMCatalog.entitlements”值。 - Paul Wieland
1
谢谢!我把它删除了,从功能选项卡中添加了权限,然后它自动创建了一个新的权限文件,提交成功了。这可能是因为我在beta版本的Xcode和常规版本的Xcode之间切换以进行提交。 - Ryan
2
这样做是否会导致你的权限不起作用?例如应用程序组、推送通知、应用内购买等,因为你正在从应用程序中删除权限文件。 - royherma
那么你的应用程序如何在组、钥匙串、推送等权限上运作呢?@templeman15 - Sazzad Hissain Khan
显示剩余3条评论

8
这里有很多答案,其中一些以前对我有用过,但这一次没有。我甚至创建了一个新的配置文件,但仍然没有帮助。
基于错误信息中“None of the valid provisioning profiles allowed the specified entitlements”,我根据直觉尝试了以下步骤,并成功解决问题:

1. 添加和删除某个特定功能

转到Targets > Capabilities,打开一个功能,然后关闭它。
我怀疑它并不重要,我添加了“Push Notifications”(我的应用程序不需要),一旦它被“ON”,我就将它改回“OFF”

enter image description here

2. 再次归档

现在我成功地将我的应用程序上传到商店。


5

3
如果您确定您拥有有效的证书和配置文件,那么您可能需要执行以下操作:
我建议大家通过以下方式刷新xCode和开发者帐户之间的链接:
转到Xcode ->首选项 ->帐户 ->查看详细信息 ->(刷新图标)
否则,您可能无法在构建设置中将配置文件作为选项查看(您可能只能看到旧配置文件)。
很多时候会出现连接错误,您可能需要重试。
每次在线编辑苹果开发人员成员中心的配置文件或证书时,请执行此刷新。

2

2

现在是2017年,但权限仍然无法正常工作。我不得不将其切换到手动模式,因为自动模式经过半个小时的努力后仍然无法正常工作。我不知道这些授权是什么,也没有授权文件。


实际上,为了解决我发行版中相同的错误,我不得不使用手动设置! :-) - Lorenzo

2
我有另一个问题的原因。
我有三个不同的配置(Debug, AdHoc, AppStore)。我不小心将AdHoc配置选为归档方案设置,然后尝试上传生成的归档文件到AppStore。
所以将归档配置设置为AppStore就解决了我的问题。

enter image description here


设置中的AdHoc和AppStore配置有何不同? - Sazzad Hissain Khan
这取决于你将其设置为什么。这是我自定义创建的配置文件。它们几乎相同,但在这些配置上我使用了不同的预配配置文件。 - JulianM
你是怎么为不同的配置设置不同的配置文件的呢? - Sazzad Hissain Khan
在构建设置中 - JulianM
你能具体点吗?我只能更改当前目标的构建设置,而不能更改配置。这会很有帮助。 - Sazzad Hissain Khan
当然,您必须更改目标的设置,但在那里,您可以为每个配置选择不同的选项。每个设置下面都有一个三角形,可以展开每个配置。 - JulianM

1

在尝试了世界上所有可能的修复方法之后,我最终只是将此添加到权限文件中:

<key>beta-reports-active</key>
<true/>

通过查看 Targets > Build Settings > Code Signing > Code Signing Entitlements,找到正确的授权文件。

也许这与这份苹果文档有关,尽管我无法完全按照说明操作,因为XCode 7中缺少某些内容(例如,在“偏好设置>帐户”中没有刷新图标)。


@bruce1337:谢谢,那其实是和我的链接一样的 :) - Dunc

1
这个信息出现的另一个可能原因是,如果您不小心删除了资格文件的“目标包含复选框”,那么错误信息就会有点误导性...

目标包含复选框在哪里? - user3600801
“Target Membership” 下面的复选框,可以在添加后的“文档检查器”中或“添加文件”对话框中的“选项”下找到。 - DrMickeyLauer

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