由于应用程序标识符授权,应用程序安装失败

App installation failed due to application-identifier entitlement

由于应用程序标识符授权,我无法安装 watchOS 2 WatchKit 应用程序。在“功能”选项卡中打开“应用程序组”后发生这种情况。

完整错误:

App installation failed

This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.

这是运行在物理设备上处于调试模式的应用程序。 运行 只是 iOS 应用程序运行良好。

我已经再次关闭应用程序组并删除了添加的授权文件,但同样的错误。

我在使用 iPhone 应用程序时遇到了这个问题,并使用以下步骤修复了它。

  • 连接您的设备并Xcode打开,select Window->设备
  • 在弹出的window左侧选项卡中,select您的问题设备
  • 在右侧的详细信息面板中,从 "Installed Apps" 列表中删除违规应用。

在我这样做之后,我的应用程序重建并启动得很好。由于您的应用是 watchOS 应用,我不确定您是否会得到相同的结果,但值得一试。

我自己尝试了一些东西,比如 updating/making 新的配置文件,修复 Apple 会员中心和项目中的权利,但就我而言,我只需要删除应用程序并重新 运行它。

o_O


This application's application-identifier entitlement does not match that of the installed application.

注意:它说“...与安装的应用程序不匹配

我想这发生在我身上是因为我们添加了一个新的应用程序扩展并且一定有一些与目标相关的迁移问题?不确定,但无论如何

已接受的答案对我不起作用。为了使其正常工作,我必须将 Apple Watch 重置为上次可用的备份。

卸载主 iPhone 应用程序,观看应用程序并重新构建它们解决了问题。

我遇到了同样的错误,直到我按照 https://forums.developer.apple.com/thread/17948

将手表恢复为出厂默认设置

"Apparently if you have and existing WatchOS 1 app and try to update it to WatchOS 2 the bundle identifier changes and causes this error. If you update your watch you will need to do reset it if you had installed WatchOS1 app before updating that app to WatchOS2."

从您的 iPhone 中删除任何以前版本的应用程序,然后再次清理 -> 构建和 运行。您的应用应该 运行 在您的设备上顺利运行。

此外,请确保您在尝试直接在设备上 运行 项目时没有在项目设置中选择分发证书。

我发现我不小心更改了配置文件以在其中包含通配符。

即,它从 com.companyname.appnickname 变为 com.companyname。*

我创建了一个全名正确命名的新配置文件,下载它,将目标->构建设置->配置文件设置为该新配置文件,重新启动 xcode,从 xcode(这似乎混淆了我的各种应用程序开发人员登录),再次重新启动 xcode,它起作用了!

我不想删除现有的应用程序,因为我试图测试当用户将他们的应用程序升级到较新版本时会发生什么,所以我安装了应用程序商店版本,然后 运行我的 xcode 使用较新的版本(它的作用类似于 'upgrading' 应用程序,但不删除任何用户数据)。

我有同样的错误,我通过将 Bundle Identifier 更改为新的东西来解决它。之后它构建项目没有问题。

我的步骤:

  • 打开Xcode
  • 转到“常规”选项卡
  • 寻找身份
  • 将捆绑包标识符更改为新内容。

我从 5s 移动到 6s 后收到此错误。 我从旧 iPhone 的备份中恢复了新的 6s。 因此,在新的 iPhone 上安装了旧的应用程序。

6s "Installed Apps" 列表中没有显示旧应用! 我从6s手动删除了这个旧应用,一切正常。

我遇到这个问题是因为我构建到 phone 时从另一台机器关闭了我的代码签名,所以你需要在 installing/building 之前从 phone 卸载应用程序phone 代码签名。

我在不删除应用程序的情况下解决了这个问题

项目在 xcode 中打开。 项目 -> 构建设置 -> 代码签名 -> 配置文件(下拉) 它可能设置为自动并且选择了错误的配置文件。打开下拉菜单并选择正确的一个,然后 re-run 应用程序。

我遇到了同样的问题并卡住了几分钟,经过搜索,我找到的最简单的解决方案是手动从您的设备中删除以前安装的应用程序,然后尝试 运行 从 Xcode 再一次。

希望对您有所帮助。 一切顺利...

从您的设备中删除以前的应用程序即可轻松解决此问题。并再次开始重新安装。这对我来说很好。

我遇到了这个问题,并且在不删除并重新安装应用程序的情况下无法解决它(正如这里的一些人所建议的那样,弄乱配置文件没有帮助)。

但是,我并没有丢失我现有的测试数据。以下是如何做到这一点,对于将来遇到此问题的任何人:

  1. 删除应用程序之前,打开Xcode"Devices"window(即cmd-shift-2)。
  2. Select 您的设备并在 "Installed Apps" 列表中找到您的应用程序。
  3. 单击齿轮图标,然后 select "Download Container..."。这会将应用程序的所有数据复制到您的 Mac。暂时将其保存在某处。
  4. 删除应用程序并从 Xcode 重新安装。从 Xcode 中终止应用程序(单击停止按钮),因此它不是 运行ning。
  5. 返回 "Devices" window,单击齿轮图标和 select "Replace Container..."。 Select 您在第 3 步中下载到 Mac 的数据。

Xcode 将恢复您之前保存的应用程序数据。 您现在已经恢复了旧的测试数据,应用应该运行。

我今天遇到了同样的问题,通过更改之前也安装的应用程序的 显示名称 捆绑包标识符 解决了这个问题在我的 iPhone 上。 步骤:

Xcode -> General tab -> Find Identity -> Change Bundle Identifier

所以,现在我有两个相同的应用程序,它们具有相同的功能,但具有两个不同的名称和身份。

当您的 AppID 前缀与之前安装的应用程序的前缀不匹配时,您将收到此错误。如果您的应用已经在 App Store 中,您将无法在不恢复原始 AppID 前缀或联系 Apple 的情况下提交更新。

苹果对这个问题的处理说明:https://developer.apple.com/library/content/technotes/tn2319/_index.html#//apple_ref/doc/uid/DTS40013778-CH1-ERRORMESSAGES-UPGRADE_S_APPLICATION_IDENTIFIER_DOES_NOT_MATCH_THE_INSTALLED_APP

如果您不打算更改 AppID 前缀,则 Xcode 正在使用错误的配置文件对您的应用进行签名。

如果您确实打算更改 AppID 前缀(因为该应用已转移给新的开发人员,或者您正在从 2011 年之前的旧 AppID 迁移),您必须联系 Apple 以将现有的 AppID 迁移到新的前缀.

您还必须向您的应用添加 previous-application-identifiers 权利,列出所有以前的 AppID(带有旧前缀)。并且您必须要求 Apple 为您生成包含 previous-application-identifiers 权利的配置文件。

尽管我遵循了一些合乎逻辑的步骤:卸载应用程序、重建项目,但唯一对我有用的解决方案是:重新启动XCode。 (XCode 8.1)

当我尝试在临时构建之上安装时发生这种情况。

在大多数对此问题的回复中,有一个关键方面被忽略了,这是最初提问者提出的。需要在不删除现有安装的情况下安装该应用程序。就我而言,该应用程序使用 SQLite 数据库为用户存储相当多的数据。显然,如果删除应用程序,就会删除数据。一个允许我以用户更新它的方式测试它的解决方案是必须的。

就我而言,问题是 Xcode 使用由 Xcode 自动生成的配置文件。这可能是因为我得到了一台新计算机并且没有将分发配置文件传输过来。更不用说,我已经将近 2 年没有更新应用程序了。所以我原来的配置文件(其中包含 Entitlements 应用程序标识符)早已不复存在。解决方案:在 Xcode 首选项-> 帐户-> Select 相应的 Apple ID-> 查看详细信息-> 在配置文件下,右键单击 Xcode 为该应用程序生成的配置文件(它以 XC iOS) 为前缀,并且 select 移至垃圾箱。

在开发者网站上,使用您的应用 ID 创建新的分发配置文件。下载新配置文件,双击,Xcode 应该会自动安装它。相反,您可以 return 到 Xcode 中列出的配置文件,然后点击新创建的配置文件旁边的下载按钮。构建应用程序并再次尝试 运行。顺便说一句,我的 Xcode 设置为自动管理代码签名,除此问题外效果很好。

步骤

  1. 连接您的设备并Xcode打开,select Window->设备
  2. 现在select应用程序并使用设置图标下载容器
  3. 删除应用程序
  4. 使用 Xcode
  5. 重新安装应用
  6. 从Xcode
  7. 停止
  8. 转到Window->设备和select应用程序并替换从以前的应用程序备份的容器

在我的情况下,这是因为证书。

因为我自己的应用程序签名证书不属于开发团队(新员工),所以不允许将应用程序从 App Store 升级到新版本。

所以万一你碰巧无法获得"good"证书,只需克隆git appStore版本,打开两个Xcode项目,编译旧版本,根据需要更新设置,编译新版本即可。

有点肮脏和棘手,但我希望它能帮助别人。

我的问题是 App ID 与用于创建配置文件的证书相结合。我的 None 个配置文件正在运行,因为其中 none 个是 "Elgible"(使用与 App ID 匹配的证书创建)。我已经将开发转移到一台新机器上,所以这也许是更深层次的原因。无论如何,我必须创建一个新证书,然后使用该证书创建新的配置文件,在创建它们时要小心选择正确的 App ID。祝你好运。

这可能是App ID前缀导致的,当您切换不同的开发者帐户时。请参阅 https://developer.apple.com/library/content/technotes/tn2311/_index.html 以获得 Apple 的支持。

None 以上答案对我有用。 我的问题:我已经从 Testflight 安装了一个应用程序版本,所以,我只是删除了旧应用程序和 Testflight 版本,然后又可以工作了。

接受开发者网站和 iTunes Connect 网站的未决协议并在 X-Code 中重新打开项目解决了我的问题。

TLDR - 从设备中删除应用程序并再次 运行。

就我而言:
1. 我在 iPhone 设备.
上编译并 运行 应用程序 2. 我在设置中打开 Capabilities 并打开 iCloud
3. 然后我再次尝试 运行 应用程序,砰的一声,错误:“应用程序安装失败 此应用程序的应用程序标识符授权与已安装应用程序的不匹配。这些值必须匹配才能允许升级。

4.Then 我从 iPhone 删除了 到应用程序(在我阅读此处的答案后)
5.Everything 作品 O.K

对于可能属于多个团队的人,这可能是您的问题:

  • 如果应用程序的捆绑包 ID 在您的 Info.plist 中进行了硬编码,那么 Xcode 可能会感到困惑并发脾气。

修复:

  • 确保 bundle id 设置为:

    $(PRODUCT_BUNDLE_IDENTIFIER)

我遇到了同样的问题。 bundle.identifier 和项目名称必须相同。至少那是我的问题。

对我来说,这发生在更新到 XCode 11 之后, 正如其他人所说,这是一个签名问题。 为我修复的是转到开发人员门户>证书和标识符 编辑您正在使用的配置文件

List of certificates Screenshot

您会看到 XCode 11 的证书(如屏幕截图所示) 只需勾选该框,重新下载配置文件,并使用新配置文件更新您的项目签名。

使用 MacOS Catalina,您的 iPhone 将显示在 Finder windows 的 'Locations' 边栏中(只要您已将 Finder 首选项设置为显示外部设备) - 然后您可以通过 'Files' 选项访问文件,该选项位于 window 顶部附近的栏中,就在标题下方(在我的情况下,我必须单击“>”右边)。

这是最终为我解决的问题 (Xcode 11)。 运行进入这个问题运行Apple的示例项目"CoreDataCloudKitDemo"(WWDC 2019 session 202)。

我取消选中项目 "General" 设置中的 "Mac" 部署选项,并保留 "Automatically manage signing"。现在它是一个 iPhone/iPad 应用程序,错误消失了,我可以构建了。

然后我重新检查了 "Mac" 选项,并且 Xcode 询问它应该管理权利等的魔法;我同意了,Xcode 解决了所有问题,我能够构建 Mac 版本。

说明

对我来说,出现此问题是因为我使用的帐户登录的帐户与我在 iPhone 上安装应用程序时使用的帐户不同。

解决方案

只需从 iPhone 中删除该应用,然后从 Xcode 中再次删除该应用 运行。

我的解决方案只用了两步就解决了这个问题,而且没有丢失数据,也不需要卸载应用程序。

  1. 从之前安装过应用程序的 mac 下载配置文件(点击“I”图标,然后将配置文件图标拖动到桌面)

  1. 将配置文件复制到新的 mac 并在 Xcode 中打开它(双击)。

Xcode 在新的 mac 上将更新配置,允许在设备上安装而无需任何其他操作并且不会丢失任何已保存的数据。

您可以尝试删除设备上的旧应用并重新安装它,因为您并不总是更改包 ID 或配置文件