指定的权限不足以访问配置文件。(0xE8008016)。错误iOS 4.2

144
我在尝试将我的第一个应用程序部署到 iOS 4.2.6(Verizon)未越狱的设备上时,遇到了“可怕”的错误The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016)。问题是,我在项目中没有Entitlements文件,因为我根本没有分发它,只是把它放在一个设备上。我已经按照苹果的流程(证书、设备、预配)严格进行过所有设置,但我无法找出问题所在。请问有人能帮我解决这个问题吗?

建议您阅读以下帖子。https://dev59.com/iHM_5IYBdhLWcg3wXx1N http://discussions.apple.com/thread.jspa?threadID=2162558 - Jhaliya - Praveen Sharma
15
很奇怪,我被踩了一下。可以请踩我的人解释一下吗? - Richard J. Ross III
这个问题真的帮了我很多,因为事实证明我确实有一个授权文件(你提到它让我意识到了这一点)。在Build Settings > Code Signing > Code Signing Entitlements中删除引用后,我成功构建了这个项目。 - Geoff
40个回答

5
  1. 在Safari中打开“iOS Provisioning Portal”。
  2. 点击侧边栏中的“设备”。
  3. 注册您设备的UDID。
  4. 点击“配置文件”。
  5. 编辑您的应用程序配置文件。
  6. 选择您刚刚添加的设备。
  7. 下载.mobileprovision文件。
  8. 安装它。
  9. 再次构建。

4
对于我来说,勾选目标中的“自动管理签名”选项即可解决问题!

4

我在我的应用程序中遇到了同样的问题,但几个月后,这个特定的应用程序能正常工作了。

问题在于我在Xcode项目中配置的功能(在Targets -> {ProjectName} -> Capabilities下)与配置的功能不同,而这些功能可以在供应配置文件中检查到(您可以在苹果会员中心的标识符 -> 应用程序ID -> {您的应用程序ID}中检查)。在会员中心中,我看到游戏中心已启用,因此在我的项目中我也启用了游戏中心。然后应用程序就能够启动了。

我不知道它是怎么运作的,这仍然是一个谜 :)


我现在意识到推送通知不再起作用了。我在Xcode中删除了游戏中心功能。应用程序现在可以运行,但是推送通知不再出现了。有人知道为什么吗? - bobsacameno

3

升级到XCode 4解决了这个问题。


1
似乎不是XCode版本特定的问题,因为我在XCode 7.3.1中遇到了这个错误。必须删除配置文件并从XCode首选项重新下载相同的配置文件以解决此问题。 - Ian Pinto
@IanPinto 我同意。这个答案被接受的主要原因是因为它对有效。它现在不是非常有用的信息了,我已经给帖子中的大多数其他答案点赞了,因为它们都包含了未来查看此内容的人们非常有价值的信息。关于SO上的自我回答好处是它们不会自动排到堆栈的顶部,所以无论如何都不会有太多人看到这个答案 :) - Richard J. Ross III

3

如果您没有更改任何与证书相关的内容(未替换或更新它们),只需执行Product -> Clean。这在我的几次尝试中都很有帮助。(Xcode 6.2)


3

2

我在Xcode 8上遇到了这个问题,部分原因是由于新的Provisioning Profile构建设置引起的。在这个Xcode版本中,有两个关于provisioning profile的条目:

  • Provisioning Profile
  • Provisioning Profile (Deprecated)

我的错误在于我只更新了第一个条目,而过时的条目仍然指向一个无效的provisioning profile。将两个条目都更改为相同的值可以解决这个问题(清除过时的条目也应该具有相同的效果)。


2

以下方法对我有效...

  1. 我从target中删除了Entitlements文件。
  2. 将应用程序从所有设备上删除。
  3. 在Xcode中执行Cleaned操作。
  4. *可选:删除配置文件并重新添加。

希望这些方法对你们也有用 :)


从目标中删除了Entitlements文件,对我来说可行。但不确定这是否是最佳方法。 - YuAn Shaolin Maculelê Lai

2

当我不小心使用了应用商店分发的配置文件来进行本地测试时,出现了这个问题。当我使用正确的开发配置文件时,一切正常。也许对其他人也有帮助。


如果我想测试已上传到App Store的应用程序概要文件,我该怎么办?有什么方法可以这样做吗? - bobsacameno

2
我今天遇到了这个问题,费尽心思也没能解决。和很多人一样,如果我在权限文件中删除iCloud选项,它就可以正常工作。但是,当我启用iCloud选项进行应用程序调试时,我会收到0xe8008016错误。这是在吊销并重新生成新证书后发生的。
所以,对我有用的解决方法是为自动生成的Xcode团队配置文件打开iCloud支持。登录在线配置工具,转到“App IDs”,单击“Xcode iOS通配符应用程序ID”,单击“编辑”,通过选中复选框启用iCloud,最后单击“完成”。在Xcode中刷新您的配置文件,然后它就可以正常工作了。
这有些合理-当您进行调试时,默认使用团队配置文件,而团队配置文件需要启用iCloud。

1
是的!那就是我的问题,启用所有应用程序ID上的iCloud解决了这个问题。非常感谢。 - Guy Moreillon

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