指定的权限不足以访问配置文件。(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个回答

2
这是解决我的问题的方法:删除目标构建设置中“代码签名授权”部分的路径。

请提供一个“如何”解释? - Agent Zebra
@AgentZebra 点击主项目文件 > 从“Targets”选择您的应用程序> Build Settings > Signing > Code Signing Entitlements,删除显示在那里的值。 - weienw

2

我的苹果开发者配置文件与我的Xcode功能相匹配,但在我执行以下操作之前,它仍无法构建到我的设备上:

  1. 从Xcode项目中删除/删除授权文件。

  2. 返回到Xcode功能选项卡

  3. 点击“修复问题”按钮,让Xcode重新添加授权文件。

对我有用,希望能帮助到其他人。


1

可能会导致此错误消息的另一个潜在问题:如果您为主应用程序使用完全有效的配置文件,但为今天小部件扩展使用过期或无效的配置文件,则会出现此问题。我想对于Apple Watch扩展也是一样的。

检查所有配置文件!


1
在Xcode 5.1中,当我尝试在我的设备上测试应用程序时,我遇到了The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.的错误。设备开发证书将于2015年2月过期。
问题已解决:
选择Target->Capabilities,在GameCenter下,这里我得到了有关GameCenter授权的错误,因为它没有添加到项目中,尽管第一个版本的应用程序是通过相同的XCode 5.1发布的,但以前没有出现过这样的错误。
下面给出了一个标题为Fix Issue的按钮。单击它会添加GameCenter授权,并解决问题。
之后屏幕看起来像:

enter image description here

对我来说,证书无关紧要。应用程序现在已成功运行在设备上。


1
在我的情况下,看起来Xcode(秘密地)重置了方案。我发现存档的构建配置设置为Release而不是distribution,当我将其更改为正确的配置后,它就正常工作了。 我认为最好检查方案以及构建设置。

1
我正在使用Xcode 6,遇到了一个特定的iPhone 4问题。最后,我进入“设备”=>“配置文件”并手动添加配置文件,问题得以解决。

1
我有一个旧项目,也遇到了同样的问题,我解决了。
1.进入概述 2.在概述中找到钥匙串组并删除钥匙串组的对象。
希望对你有用。 问候。

1

检查KeyChain访问权限!

在我的情况下,我使用了与预配配置文件关联的错误分发证书。


1
我正在处理的代码在Info-plist中的bundleid与“Product Bundle Identifier”构建设置中的不同。
我发现这是因为我在设备视图中的设备控制台中注意到了以下消息:
“MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'”

0
这种情况发生在我尝试在新设备上安装我的应用程序时。 我通过选择所有配置文件的自动选项来解决了这个问题。之后再次尝试安装,它现在让我知道我只需要将这个新设备添加到我的配置文件中,并给了我一个“修复问题”按钮,解决了这个问题。

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