由于应用程序标识符授权,我无法安装 watchOS 2 WatchKit 应用程序。这发生在打开“功能”选项卡中的“应用程序组”之后。
完整错误:
应用程序安装失败 此应用程序的应用程序标识符权利与已安装应用程序的权利不匹配。这些值必须匹配才能允许升级。
https://i.stack.imgur.com/tHqUy.png
这是在物理设备上以调试模式运行应用程序。仅运行 iOS 应用程序可以正常工作。
我再次关闭了应用程序组并删除了添加的权利文件,但同样的错误。
我在使用 iPhone 应用程序时遇到了这个问题,并使用以下步骤修复了它。
连接设备并打开 Xcode,选择 Window->Devices
在弹出窗口的左侧选项卡中,选择您的问题设备
在右侧的详细信息面板中,从“已安装的应用程序”列表中删除有问题的应用程序。
在我这样做之后,我的应用程序重建并启动得很好。由于您的应用是 watchOS 应用,我不确定您是否会得到相同的结果,但值得一试。
我遇到了这个问题,如果不删除并重新安装应用程序就无法解决它(正如这里的一些人建议的那样,弄乱配置文件并没有帮助)。
但是,我并没有丢失我现有的测试数据。对于将来遇到此问题的任何人,以下是如何做到这一点:
在删除应用程序之前,打开 Xcode“设备”窗口(即 cmd-shift-2)。选择您的设备并在“已安装的应用程序”列表中找到您的应用程序。单击齿轮图标并选择“下载容器...”。这会将应用程序的所有数据复制到您的 Mac。暂时把它保存在某个地方。删除应用程序并从 Xcode 重新安装。从 Xcode 中终止应用程序(单击停止按钮),因此它没有运行。返回“设备”窗口,单击齿轮图标并选择“替换容器...”。选择您在步骤 3 中下载到 Mac 的数据。
然后 Xcode 将恢复您之前保存的应用程序数据。您现在已经恢复了旧的测试数据,应用程序应该可以运行了。
从您的 iPhone 中删除任何以前版本的 App,然后再次清理->构建并运行。您的应用程序应该在您的设备上顺利运行。
此外,请确保在尝试直接在设备上运行项目时未在项目设置中选择分发证书。
当您的 AppID 前缀与先前安装的应用程序的前缀不匹配时,您将收到此错误。如果您的应用程序已经在 App Store 中,您将无法在不恢复原始 AppID 前缀或联系 Apple 的情况下提交更新。
如果您不打算更改 AppID 前缀,则 Xcode 正在使用错误的配置文件对您的应用程序进行签名。
如果您确实打算更改 AppID 前缀(因为应用程序已转移给新的开发人员,或者您正在从 2011 年之前的旧 AppID 迁移),您必须联系 Apple 以将现有 AppID 迁移到新前缀。
您还必须将 previous-application-identifiers
权利添加到您的应用程序,列出所有以前的 AppID(带有旧前缀)。您必须要求 Apple 为您生成包含 previous-application-identifiers
权利的配置文件。
我在不删除应用程序的情况下解决了这个问题
在 xcode 中打开项目。项目 -> 构建设置 -> 代码签名 -> 供应配置文件(下拉)它可能设置为自动并且选择了错误的配置文件。打开下拉菜单并选择正确的,然后重新运行该应用程序。
我遇到了同样的问题并被卡住了几分钟,经过搜索,我发现最简单的解决方案是手动从您的设备中删除以前安装的应用程序,然后尝试再次从 Xcode 运行该应用程序。
希望它可以帮助你。一切顺利...
脚步
连接设备并打开 Xcode,选择 Window->Devices 现在选择应用程序并使用设置图标下载容器 删除应用程序 使用 Xcode Stop 从 Xcode 再次安装应用程序 转到 Window->Device 并选择应用程序并替换容器这是从以前的应用程序备份
解释
对我来说,发生此问题是因为我使用的帐户与我在 iPhone 上安装应用程序时使用的帐户不同。
解决方案
只需从 iPhone 中删除该应用程序,然后从 Xcode 中再次运行它。
当您切换不同的开发者帐户时,这可能是由 App ID 前缀引起的。有关 Apple 的支持,请参阅 https://developer.apple.com/library/content/technotes/tn2311/_index.html。
我自己尝试了一些事情,比如更新/制作新的配置文件,修复 Apple 会员中心和项目中的权利,但就我而言,我只需要删除应用程序并重新运行它。
o_O
此应用程序的应用程序标识符权利与已安装应用程序的权利不匹配。
注意:它说“...与已安装的应用程序不匹配”
我想这发生在我身上是因为我们添加了一个新的应用程序扩展,并且一定存在一些与目标相关的迁移问题?不确定但无论如何
我发现我不小心将配置文件更改为其中包含通配符。
即,它从 com.companyname.appnickname 变为 com.companyname。*
我用正确命名的全名创建了一个新的配置文件,下载它,将 Target->build settings->provisioning profile 设置为该新配置文件,重新启动 xcode,从 xcode 收到一个奇怪的错误(这似乎让我的各种应用程序开发人员感到困惑登录),再次重新启动xcode,它工作!
我不想删除现有的应用程序,因为我试图测试当用户将他们的应用程序升级到较新版本时会发生什么,所以我安装了应用商店版本,然后使用较新版本运行我的 xcode(它起作用比如在不删除任何用户数据的情况下“升级”应用程序)。
我遇到了同样的错误,我通过将 Bundle Identifier 更改为新的东西来解决它。之后,它可以毫无问题地构建项目。
我的步骤:
打开 Xcode
转到常规选项卡
寻找身份
将 Bundle Identifier 更改为新的东西。
https://i.stack.imgur.com/P0ClZ.jpg
我遇到过同样的问题。 bundle.identifier 和项目名称必须相同。至少那是我的问题。
卸载主要的 iPhone 应用程序、Watch 应用程序并再次构建它们可以解决问题。
在按照 https://forums.developer.apple.com/thread/17948 将手表恢复为出厂默认设置之前,我遇到了同样的错误
“显然,如果您拥有现有的 WatchOS 1 应用程序并尝试将其更新到 WatchOS 2,则捆绑标识符会更改并导致此错误。如果您更新手表,如果您在更新该应用程序之前安装了 WatchOS1 应用程序,则需要重置它WatchOS2。”
尽管我遵循了一些合乎逻辑的步骤:卸载应用程序,重建项目,但唯一对我有用的解决方案是:重新启动 XCode。 (XCode 8.1)
当我尝试在临时构建之上安装时发生了这种情况。
在对此问题的大多数回复中,原始提问者提出的一个关键方面被忽略了。需要在不删除现有安装的情况下安装该应用程序。就我而言,该应用程序使用了一个 SQLite 数据库,该数据库为用户存储了大量数据。显然,如果您删除应用程序,那么您会删除数据。一个允许我以与用户更新它相同的方式对其进行测试的解决方案是必须的。
就我而言,问题是 Xcode 使用了 Xcode 自动生成的配置文件。这可能是因为我有一台新计算机并且没有传输分发配置文件。更不用说,我已经快 2 年没有更新应用程序了。因此,我原来的配置文件(其中包含权利应用程序标识符)早已不复存在。解决方案:在 Xcode 首选项-> 帐户-> 选择适当的 Apple ID-> 查看详细信息-> 在 Provisioning Profiles 下,右键单击 Xcode 为该应用程序生成的配置文件(其前缀为 XC iOS),然后选择 Move to Trash .
https://i.stack.imgur.com/FnUYv.jpg
在开发者网站上,使用您的应用 ID 创建一个新的分发配置文件。下载新的配置文件,双击,Xcode 应该会自动安装它。相反,您可以返回到 Xcode 中列出的配置文件,然后点击新创建的配置文件旁边的下载按钮。构建应用程序并尝试再次运行。顺便说一句,我的 Xcode 设置为自动管理代码签名,除了这个问题之外,它的效果很好。
TLDR - 从设备中删除应用程序并再次运行。
就我而言: 1. 我在 iPhone 设备上编译并运行该应用程序。 2.我在设置中打开功能并打开iCloud 3.然后我再次尝试运行应用程序,繁荣,错误:“应用程序安装失败此应用程序的应用程序标识符权利与已安装应用程序的权利不匹配。这些值必须匹配才能允许升级。
4.然后我从 iPhone 删除了应用程序(在我阅读了这里的答案之后) 5.一切正常
对于可能属于多个团队的人来说,这可能是您的问题:
如果应用程序的 bundle id 硬编码在 Info.plist 中,那么 Xcode 可能会感到困惑并大发雷霆。
修理:
确保捆绑包 ID 设置为:$(PRODUCT_BUNDLE_IDENTIFIER)
接受的答案对我不起作用。为了让它工作,我不得不将 Apple Watch 重置为最后一个可用的备份。
我从 5s 转到 6s 后收到此错误。我从旧 iPhone 的备份中恢复了新的 6s。因此,在新 iPhone 上安装了旧应用程序。
旧应用没有出现在6s“已安装应用”列表中!我从 6s 中手动删除了这个旧应用程序,一切都很好。
我遇到了这个问题,因为我在另一台机器上关闭了代码签名的情况下构建到手机,因此您需要先从手机上卸载应用程序,然后再安装/构建到带有代码签名的手机。
通过从设备中删除以前的应用程序可以轻松解决此问题。并重新开始重新安装。这对我来说很好。
我今天遇到了同样的问题,并通过更改之前安装在我 iPhone 上的应用程序的显示名称和捆绑标识符来解决它。脚步:
Xcode -> General tab -> Find Identity -> Change Bundle Identifier
所以,现在我有两个相同的应用程序具有相同的功能,但有两个不同的名称和身份。
就我而言,这是因为证书。
因为我自己签署应用程序的证书不是开发团队(新员工)的一部分,所以不允许将应用程序从 App Store 升级到新版本。
因此,如果您遇到这种情况并且您无法获得“好”证书,只需克隆 git appStore 版本,打开两个 Xcode 项目,编译旧版本,根据需要更新设置,然后编译新的你就完成了。
有点肮脏和棘手,但我希望它可以帮助某人。
我的问题是 App ID 与用于创建配置文件的证书相结合。我的配置文件都不起作用,因为它们都不是“合格的”(使用与 App ID 匹配的证书创建)。我已经将开发转移到一台新机器上,所以也许这是更深层的原因。无论如何,我必须创建一个新证书,然后使用该证书创建新的配置文件,在创建它们时要小心选择正确的 App ID。祝你好运。
上面的答案都不适合我。我的问题:我已经从 Testflight 安装了一个应用程序版本,所以我刚刚删除了旧应用程序和 Testflight 版本,然后又可以正常工作了。
接受来自开发者网站和 iTunes Connect 网站的未决协议并在 X-Code 中重新打开项目为我解决了这种情况。
对我来说,这发生在更新到 XCode 11 之后,就像其他人所说的那样,这是一个签名问题。为我解决的问题是转到开发人员门户>证书和标识符编辑您正在使用的配置文件
List of certificates Screenshot
您会看到有 XCode 11 的证书(如屏幕截图所示)只需勾选该框,重新下载配置文件,并使用新配置文件更新您的项目签名。