【问题标题】:The entitlements specified...profile. (0xE8008016). Error iOS 4.2指定的权利...配置文件。 (0xE8008016)。错误 iOS 4.2
【发布时间】:2011-07-11 13:54:53
【问题描述】:

在尝试将我的第一个应用程序部署到 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 file,因为我根本没有分发它,只是把它放在一个设备上。我已经完成了苹果为您提供的所有麻烦(证书、设备、配置),但我无法弄清楚出了什么问题。

谁能帮我解决这个问题?

【问题讨论】:

  • 这很奇怪,我投了反对票。请做这件事的人解释一下吗?
  • 这个 question 对我很有帮助,因为事实证明我确实有一个权利文件(你提到它让我意识到了这一点)。删除 Build Settings > Code Signing > Code Signing Entitlements 中的引用允许我构建这个项目。

标签: iphone objective-c code-signing provisioning-profile code-signing-entitlements


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 非常感谢,你拯救了我的一天
    • 你救了我的培根
    • 非常感谢。你拯救了我的一天。 :)
    • 在看到您的评论之前,我已经为此奋斗了一个小时,谢谢!!
    • 在我遇到这条评论之前,我内心已经死了。
    【解决方案3】:

    为我检查 Target 中的“自动管理签名”选项解决问题!

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        【解决方案5】:

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

        首先要明确一点:provisioning profile 必须选择“Automatic”才能调试。

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

        【讨论】:

          【解决方案6】:

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

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

          2. 返回 Xcode 功能选项卡

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

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

          【讨论】:

            【解决方案7】:

            我正在处理的代码在 Info-plist 中的 bundleid 与 Product Bundle Identifier 构建设置中的不同。

            我发现这个是因为我在设备视图的设备控制台中注意到了这条消息:

            MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'

            【讨论】:

              【解决方案8】:

              检查钥匙串访问!

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

              【讨论】:

                【解决方案9】:

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

                检查所有配置文件!

                【讨论】:

                  【解决方案10】:

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

                  【讨论】:

                    【解决方案11】:

                    这就是解决我的问题的方法:删除 Targets 构建设置的 Code Signing Entitlements 部分中的路径。

                    【讨论】:

                    • 请解释一下“如何”?
                    • @AgentZebra 单击主项目文件 > 从“目标”> 构建设置 > 签名 > 代码签名权利中选择您的应用程序,删除那里显示的值。
                    【解决方案12】:

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

                    【讨论】:

                      【解决方案13】:

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

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

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

                      【讨论】:

                      • 我现在意识到推送通知不再起作用了。我删除了 Xcode 中的游戏中心功能。该应用程序现在运行,但推送通知不再出现。有谁知道为什么?
                      【解决方案14】:

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

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

                      运行。

                      【讨论】:

                      • 这对我有用。但我必须再次在构建设置页面中选择配置文件。
                      • 这对我有用。为我打开了关联域。我把它关掉了,问题就解决了。
                      【解决方案15】:

                      对于我在 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 权利,问题已解决。

                      病房之后的画面如下:

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

                      【讨论】:

                        【解决方案16】:

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

                        【讨论】:

                          【解决方案17】:

                          我正在使用 xcode 6,但在一个特定的 iphone 4 上遇到了这个问题

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

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

                          【讨论】:

                            【解决方案18】:

                            这对我有用...

                            1. 我从target 中删除了Entitlements 文件。
                            2. 从我的所有设备上删除了该应用
                            3. Cleaned Xcode 中的构建
                            4. *可选删除配置文件并重新添加

                            希望它也对你们有用:)

                            【讨论】:

                            • 从目标中删除了权利文件,对我有用。但如果这是最好的方法,请不要这样做。
                            【解决方案19】:

                            当我错误地尝试使用应用商店分发配置文件进行本地测试时,发生在我身上。当我使用正确的开发配置文件时,它工作得很好。也许这对某人也有帮助。

                            【讨论】:

                            • 如果我想测试上传到 App Store 的应用程序的配置文件,我该怎么办?有办法吗?
                            【解决方案20】:

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

                            【讨论】:

                              【解决方案21】:

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

                              【讨论】:

                                【解决方案22】:

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

                                1.转到摘要
                                2.总结有钥匙串组和删除keychanin 组的对象。

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

                                【讨论】:

                                  【解决方案23】:

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

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

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

                                  【讨论】:

                                  • 是的!那是我的问题,在 All Apps ID 上启用 iCloud 就成功了。非常感谢
                                  【解决方案24】:

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

                                  【讨论】:

                                  • 这对我有用......可能不是正确的方法,但我只是想构建我的项目。谢谢。
                                  【解决方案25】:
                                  1. 在 Safari 中打开“iOS 配置门户”。
                                  2. 点击侧边栏中的“设备”。
                                  3. 注册您设备的 UDID
                                  4. 点按“配置文件”
                                  5. 编辑您的应用配置文件。
                                  6. 选择您刚刚添加的设备。
                                  7. 下载 .mobileprovision 文件。
                                  8. 安装它。
                                  9. 重新构建。

                                  【讨论】:

                                    【解决方案26】:

                                    根据您的 app bundle id 检查您的权利。很可能不一样。

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

                                    这对我有用。

                                    【讨论】:

                                      【解决方案27】:

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

                                      【讨论】:

                                        【解决方案28】:

                                        在我的例子中,Xcode 似乎(秘密地)重置了 Scheme。 我发现存档的构建配置设置为发布而不是分发配置,并且在将其更改为正确的配置后,它就可以工作了。

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

                                        【讨论】:

                                          【解决方案29】:

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

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

                                          多田...

                                          【讨论】:

                                          • 您说要删除哪个特定的配置文件?它可能对您有用,但对其他人无效,请考虑添加更多信息
                                          【解决方案30】:

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

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

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

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

                                          【讨论】:

                                          • 同意 - 如果您的配置文件不正确,您可能会收到此错误。
                                          猜你喜欢
                                          • 2014-05-02
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2019-03-21
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多