【问题标题】:Automatic signing is unable to resolve an issue with the "projectName" target's entitlements file自动签名无法解决“projectName”目标的权利文件的问题
【发布时间】:2026-02-10 16:10:02
【问题描述】:

我是 mac 新手,我收到如下错误

我应该怎么做我已经购买了开发者许可证并创建了配置证书,但我仍然面临这个问题。我不知道为什么我会得到这个错误任何帮助。

我已关注此 youtube 链接以创建配置文件和分发配置文件 https://www.youtube.com/watch?v=Xh2nnjttOwo&t=367s

更新

下面这样更新我的构建设置后

我收到了像这样的新错误

【问题讨论】:

  • 去掉“自动管理签名”的复选标记
  • 当然我试过了,但还是同样的问题@jigneshVadadoriya
  • 您是否在您的目标 > 功能下启用了任何功能?您应该在开发者帐户的应用 ID 中启用相同功能。
  • target>capabilities ??如果您愿意,我什么也没做,我将使用功能选项卡@ChintaN-Maddy-Ramani 的屏幕截图更新我的问题
  • @MohanGopi 在配置文件下选择自动。不要选择配置文件并检查。

标签: ios xcode ionic2 provisioning-profile ionic3


【解决方案1】:

2020 年 ..

令人难以置信的是,Apple 仍然没有在 Xcode 11 及更高版本中修复此问题...

通常的解决方法是上面的@CodeBrew 解决方案:

“在目标的功能选项卡中打开推送通知,然后将其关闭...此错误消失。

就这么简单(通常)。

【讨论】:

    【解决方案2】:

    在 Xcode 11 上,确保删除此行:

    <key>BuildSystemType</key>
    <string>Latest</string>
    

    似乎只有在有两种不同的构建类型时才需要这样做,而现在它只是破坏了建筑物。

    【讨论】:

      【解决方案3】:

      我在使用推送通知的项目中遇到了同样的问题,我所做的解决方法是:Target-> Capabillities 并打开推送通知。fix

      注意:@codebrew 的回答进一步解释了这个巧妙的修复。

      【讨论】:

      • 我不知道为什么这会修复它.. 但它确实如此。非常感谢。
      • 它也适用于 nativescript 项目!你救了我的夜晚!谢谢
      • 哈哈浪费了 3 天,这就是解决方案。推送通知为什么一开始就被取消勾选了。
      • 这对我也有用——只需打开和关闭推送通知。
      • 这也发生在我身上。对于我正在更新的旧项目,我忘记在“功能”选项卡中打开 GameCenter。
      【解决方案4】:

      我在使用 Xcode 10.2 时遇到了同样的问题。当我切换到模拟器设备而不是我的测试设备时,我注意到错误消失了。所以我复制了权利文件的源代码,以防我需要重新创建它并删除它的内容。我使用物理连接的第一台测试设备运行构建。它让我在创建构建时输入了我的 mac 密码大约 40 次,但随后它将信息添加回权利文件,错误消失了。打开和关闭通知不起作用,在任何配置中向开发者帐户添加功能也不起作用。

      【讨论】:

        【解决方案5】:

        我可以通过打开推送通知然后将其关闭来解决同样的问题。

        不确定为什么会这样,但在 Xcode 9.4.1 和 Xcode 10 Beta 中,这个修复仍然有效。

        更新:这适用于 Xcode 10.1 和 10.2

        【讨论】:

        • 我在两个不同的项目、类似的情况和不同的 Xcode 版本中遇到了两次相同的问题。两次都工作过。
        • 工作。它会创建 .entitlements 文件,所以这可能就是原因。
        • 在通过 Xcode 10.3(和 11.1)提交应用时遇到此问题时工作。
        • 仍然适用于 Xcode 11.3。太尴尬了,苹果-_-
        【解决方案6】:

        我可以通过删除计算机 (~/Library/MobileDevice/Provisioning Profiles) 上的所有临时文件并重新启动 Xcode 来解决此问题。

        【讨论】:

        • 在 iTunes Connect 上遇到了这个问题。删除了我所有的PP,重启Xcode,解决了。哦,我相信这是因为我在存档版本之间添加了一个新设备,然后遇到了这个问题。很奇怪。
        • 感谢分享
        【解决方案7】:

        我遇到了这个问题,因为无论我做什么,XCode 都没有为 Objective-C 项目生成权利文件。我通过执行以下操作解决了它:

        1. 在项目的根目录($SRC_ROOT)创建一个空文件。
        2. 粘贴空的权利文件模板
        <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
        <plist version="1.0">
        <dict>
        </dict>
        </plist>
        
        1. 将其另存为 YourAppName.entitlements
        2. 转到构建设置 -> 签名 -> 代码签名权利并输入您的权利文件的路径 - 在我的情况下为 $(SRCROOT)/YourAppName.entitlements

        您可能需要在此之后重新生成配置文件(请参阅上面@Jim Bak 的回答)。

        【讨论】:

        • 我测试了很多东西,但这是唯一对我有用的东西。谢谢!
        【解决方案8】:

        对我来说,答案是在所有目标的“功能”页面中打开然后关闭至少一件事。应用程序、观看和观看扩展。即使我已经拥有与 xCode 创建的内容完全匹配的权利文件,但在重新生成文件时发生了其他变化。

        【讨论】:

          【解决方案9】:

          Xcode 9 和 10 可能会弹出此错误,因为它正在寻找目标的权利文件。您可以在目标的 Capabilities 选项卡中打开 Push Notification,然后将其关闭以为构建创建一个空的权利文件,然后此错误就会消失。

          【讨论】:

          • 这是一个非常聪明的提示!
          • 典型的苹果牛屎。
          • 你刚刚救了我的命;)
          【解决方案10】:

          我在多平台项目(iOS / macOS)上遇到了同样的问题。在我的情况下,问题是由于 iOS 和 macOS 应用程序的 Code Signing Entitlements 构建设置引用了相同的 Entitlements.plist 文件,该文件是 macOS 应用程序的一部分。所以为了解决这个问题,我为 iOS 创建了一个空的Entitlements.plist,并让 iOS 构建设置引用了这个文件。

          【讨论】:

            【解决方案11】:

            对我来说,取消选中并重新选中“自动管理签名”(在“常规”选项卡上)解决了这个问题。

            【讨论】:

              【解决方案12】:

              我对 iPhone 开发也很陌生,并且在 ionic 项目中遇到了相同的问题。 我执行了 ionic cordova platform add ios,将 XCode 导航到 ionic 生成的平台/ios/,检查了 bundle id,将我的 Apple 开发者 ID 与这个 App 相关联,让 XCode 管理我的签名证书和配置文件并立即解决问题。

              所以我创建了一个 XCode 生成的项目,它具有相同的 Bundle 标识符和 Apple 开发团队的价值观,这一切都很酷。这证明我的 Apple ID 和证书都很好。

              我比较了 XCode Building Settings (All) 下的 Code Signing 值,在我的情况下,问题在于调试版本 Code Signing Entitlements 文件的内容,这表明我没有正确设置 aps-environment 的东西。

              【讨论】:

                【解决方案13】:

                Code Signing Identity 下,将iPhone Distribution 更改为iPhone Developer 用于Debug 部分。

                【讨论】: