144

The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).尝试将我的第一个应用程序部署到 iOS 4.2.6 (Verizon) 上的未越狱设备时,我遇到了“可怕的”错误。问题是,我的Entitlements file项目中没有,因为我根本没有分发它,只是把它放在一个设备上。我已经经历了苹果让你经历的所有循环(证书、设备、配置),我不知道出了什么问题。

谁能帮我解决这个问题?

4

40 回答 40

65

我自己刚遇到这个问题,问题是我在项目中有一个 Entitlements.plist 文件作为临时分发的一部分,并且它的 get-task-allow (即'可以调试')属性设置为 NO - 将此设置为 YES 修复了问题,并允许应用程序在开发中的设备上从 Xcode4 运行。

对于临时分发,自然需要将其设置回 NO,但只是想我会提到它,以防其他人遇到同样的问题。

于 2011-05-29T10:28:53.087 回答
50

我在 Xcode 4.2.1 中遇到了这个问题。

对我来说,这与权利文件或 Ad-hoc 无关...

我正在返回旧项目,我忘记将我的新 iPhone 添加到配置中。

愚蠢的错误,也是一个愚蠢的对应错误信息... :-/

于 2012-01-13T12:38:27.087 回答
44

如果您使用的是 react-native,请确保测试目标具有与主要目标相同的配置文件。

于 2017-03-28T03:39:27.067 回答
29

我在 iCloud 权利方面遇到了这个问题。我的问题是我忘记在 Provisioning Portal 中为我的 App ID 启用 iCloud。

为您的 App ID 启用 iCloud 后,您将需要重新创建配置文件。

于 2011-10-06T16:09:30.830 回答
20

将您的权利文件保存在 Target> Build Settings > Code Signing > Code Signing Entitlements 中。

转到目标 > 功能。切换开/关或关/开其中一项功能。

跑。

于 2014-11-17T14:19:09.313 回答
19

对我有用的是从组列表以及项目和目标的构建设置中完全删除权利文件。然后我从目标中的“摘要”选项卡重新创建了权利,它加载正常,没有任何错误消息。

于 2012-04-27T19:18:13.840 回答
15

只需在这里投入我的 5 美分。对我来说,以上都没有奏效,所以我不得不放下压力,用新的眼光审视这个过程的每一个部分。

在匆忙中,我忘记了我正在尝试将我的应用程序安装在全新的设备上。

所以我的错误是我没有通过在配置门户中的配置文件设置的“设备”部分勾选我的新设备来更新我的配置文件。

显然,不在配置文件中包含您的设备也会生成此错误消息。

于 2012-11-20T10:00:09.263 回答
12

许多答案都没有为我修复 0xE8008016 错误。

但是当我在 Xcode 4 > Organizer > Devices > Provisioning Profiles 中选择“Automatic Device Provisioning”时,它终于奏效了。

于 2012-01-07T17:56:49.663 回答
11

就我而言,这是一个愚蠢的错误。我错误地将“运行”方案设置为使用“分发”构建配置而不是“调试”或“发布”配置。愚蠢的错误,但调试它需要一段时间,所以我将添加我的答案以改进堆栈溢出内的知识库!

于 2012-03-16T14:36:18.700 回答
10

删除您的配置文件,执行“全部清除”,确保您的配置设置正确,重新下载,然后再次尝试运行。

于 2011-03-09T03:05:13.723 回答
5
  1. 在 Safari 中打开“iOS 配置门户”。
  2. 点击边栏中的“设备”。
  3. 注册设备的 UDID
  4. 点击“配置文件”
  5. 编辑您的应用配置文件。
  6. 选择您刚刚添加的设备。
  7. 下载 .mobileprovision 文件。
  8. 安装它。
  9. 再次构建。
于 2013-06-11T18:08:33.020 回答
4

我在我的应用程序中遇到了同样的问题,几个月后这个特定的应用程序运行良好。

问题是我的 Xcode 项目中配置的功能(在 Targets -> {ProjectName} -> Capabilities 下)与配置文件中配置的功能不同(您可以在 Apple 会员中心的 Identifier -> App 下检查Ids -> {your app ID}。在会员中心我看到游戏中心已启用,所以在我的项目中我也启用了游戏中心。然后应用程序能够启动。

直到现在我都不知道它是如何工作的。这仍然是一个谜:)

于 2015-01-21T12:15:51.403 回答
4

对我来说,检查 Target 中的“自动管理签名”选项可以解决问题!

于 2016-12-21T11:03:59.630 回答
3

如果您没有更改与证书相关的任何内容(没有替换或更新它们),只需执行Product -> Clean. 它帮助了我好几次。(Xcode 6.2)

于 2015-04-10T13:29:36.103 回答
3

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

于 2011-03-17T20:36:59.567 回答
3

删除 xcuserdata 文件夹解决了我的问题。更多信息在这里:https ://stackoverflow.com/a/9968884/300694

于 2012-04-01T22:27:18.720 回答
2

Happened to me when I was trying to use an app store distribution provisioning profile for local test by mistake. When I used the proper development profile it worked just fine. Maybe this helps somebody too.

于 2014-06-17T13:43:04.153 回答
2

这对我有用...

  1. Entitlementstarget.
  2. 从我的所有设备上删除了该应用程序
  3. CleanedXcode 中的构建
  4. *可选删除配置文件并重新添加

希望它也对你们有用:)

于 2014-09-19T05:56:31.280 回答
2

我今天遇到了这个问题,我正在拔头发试图解决这个问题。像这里的许多人一样,如果我删除了我的授权文件中的 iCloud 选项,它会起作用。当我在启用 iCloud 选项的情况下调试应用程序时,我会收到 0xe8008016 错误。这是在撤销和重新生成新证书之后。

所以解决这个问题的方法是为自动生成的 Xcode 团队配置文件打开 iCloud 支持。登录在线配置工具,App IDs点击Xcode iOS Wildcard App ID,点击edit,勾选复选框启用 iCloud,最后点击Done。在 Xcode 中刷新您的配置文件,然后它将开始工作。

这是有道理的——当您调试时,它默认为团队配置文件,并且团队配置文件需要打开 iCloud。

于 2013-07-18T05:33:27.390 回答
2

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

于 2015-06-26T12:24:59.237 回答
2

在 Xcode 8 上发生在我身上,部分是由新的Provisioning Profile构建设置引起的,因为在这个 Xcode 版本中有两个用于配置文件的条目:

  • 配置文件
  • 配置文件(已弃用)

我的错是我只更新了第一个,而弃用的条目仍然指向无效的配置文件。将两者更改为相同的值解决了问题(清除不推荐使用的条目也应该具有相同的效果)。

于 2016-12-12T14:18:00.220 回答
2

我来自 Apple 开发人员的配置文件与我的 Xcode 功能相匹配,但在我执行以下操作之前,它仍然不会构建到我的设备上:

  1. 从您的 Xcode 项目中移除/删除权利文件。

  2. 返回 Xcode 功能选项卡

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

为我工作,希望对某人有所帮助。

于 2016-06-28T15:54:07.627 回答
1

我有旧项目和同样的问题,我解决了。

1.转到摘要2.摘要
有钥匙串组并删除钥匙串组的对象。

我希望它对你有用。问候。

于 2013-08-05T06:34:23.283 回答
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 发布的,但之前没有这样的错误。

下面,给出了一个带有 title 的按钮Fix Issue。单击它时,它添加了 GameCenter 权利并解决了问题。

之后的画面如下:

在此处输入图像描述

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

于 2014-11-10T15:22:24.207 回答
1

我正在使用 xcode 6 并在一个特定的 iphone 4 上遇到此问题

最后,我去设备 => 配置文件 =>

然后手动添加配置文件,问题就解决了。

于 2014-09-29T03:09:49.280 回答
1

就我而言,看起来 Xcode (秘密地)重置了 Scheme。我发现存档的构建配置被设置为发布而不是发行版,并且在我将其更改为正确的配置后,它就可以工作了。

我认为最好检查方案以及构建设置。

于 2013-01-29T22:48:19.883 回答
1

还有一个可能引发此错误消息的潜在问题:如果您正在为您的主应用程序使用完全有效的配置文件,但您的 Today 小部件扩展的配置文件已过期或无效。我想 Apple Watch 扩展也是一样的。

检查所有配置文件!

于 2015-10-14T14:06:13.807 回答
1

检查钥匙串访问!

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

于 2016-05-11T20:36:02.517 回答
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'

于 2016-06-08T15:24:50.340 回答
0

如果您有 Apple IOS Developer 的证书,则无需为 key:"Code Signing Entitlements" 设置值。构建设置-> 代码签名权利-> 删除那里的任何值。

于 2013-07-18T01:34:55.497 回答
0

我的问题是该方案将存档点指向发布,并且构建设置中的发布将代码签名身份设置为自动配置文件选择器之一。好吧,“自动”做了错误的事情(实际上从两天前开始改变了它所指向的内容),并且指向的配置文件与我在创建临时版本时选择的配置文件不同。将身份指向显式设置并在分发时使用相同的配置文件修复了问题。

于 2013-04-05T21:01:35.390 回答
0

我遇到了与上面的“Snips”相同的问题 - 我忘记将我的手机添加到更新的开发配置文件中!只需转到配置门户,添加您的手机,然后下载新的配置文件。并同意 - 您收到的信息不是很有帮助!

于 2014-03-30T19:04:55.493 回答
0

我的问题是尝试使用应用商店分发证书签署应用程序。将证书切换到 Xcode 生成的团队配置文件解决了这个问题。

于 2014-10-20T09:44:45.877 回答
0

我通过再次(一次又一次)生成我的配置文件来解决这个问题。

于 2014-04-24T18:25:53.013 回答
0

根据您的应用程序包 ID 检查您的权利。很可能不一样。

这仍然不起作用的方式是当我在我的设备中导出测试但处于发布模式时。

那对我有用。

于 2013-04-15T20:32:26.597 回答
0

如果您尝试激活 iCloud 同步,则需要为用于创建开发配置文件的 AppID 启用 iCloud(Xcode 会自动执行此操作)。您还需要为分发配置文件启用此功能。

棘手的部分是,当您在 Xcode 中刷新配置文件时,这不会触发更新配置文件;他们只是重新下载。因此,在您的 iOS Provisioning Portal 中的 Provisioning/Development 下,您需要检查标记为(由 Xcode 管理)的配置文件并将其删除(删除选定按钮)。对您需要重新生成的所有配置文件、开发和分发执行此操作。

现在,在管理器中的 Xcode 中,删除您将要替换的配置文件。

现在去买新的。如果您为多个团队开发并且只想刷新特定团队,请在 TEAMS 下的左窗格中选择适当的团队,否则选择 LIBRARY 下的 Provisioning Profiles,然后选择 Refresh。

最后,删除设备上所有可能与新配置文件冲突的旧配置文件,因为配置文件永远不会自动删除;较新的配置文件只是添加到列表中。

于 2012-06-09T15:27:22.327 回答
0

当我遇到这种情况时,这似乎对我有用:

  • 关闭功能下的所有权利
  • 使用基本配置文件安装应用程序(无应用程序组、无推送、无钥匙串共享等)
  • 将权利更改回并切换回正确的配置文件。我使用源代码管理撤消了上述更改。

单独关闭/打开权利对我不起作用——包括卸载和重新安装应用程序、删除 DerivedData 和重新启动 Xcode。看来我实际上必须在此配置中部署应用程序才能使其恢复正常工作。

当我的配置文件更新并将其重新加载到 Xcode 中时,我曾多次遇到此问题。供应配置文件允许的权利没有任何改变,因此一切都应该像以前一样匹配。它可能也可以从“功能”选项卡中删除我的权利文件并按照其他连根拔起的答案所建议的那样重新创建它;但我使用上述方法来避免对已签入源代码控制的权利文件进行随机/无操作更改。

于 2017-08-22T17:58:34.560 回答
0

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

于 2015-10-14T05:18:48.310 回答
-1

我也遇到了同样的问题,我就是这么解决的。

首先要明确:配置文件必须选择“自动”进行调试。

如果配置文件是“adhoc”,则无法调试,只能导出“.ipa”文件,导入iTunes进行安装。

于 2016-07-06T12:55:49.980 回答
-2

这些步骤解决了我的问题:

  1. 进入组织者
  2. 设备
  3. 选择您的设备
  4. 删除特定的配置文件。
  5. 再次运行

田...

于 2013-01-10T03:57:52.430 回答