应用安装失败,原因是应用标识符具有


304

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

完整错误:

应用安装失败

此应用程序的应用程序标识符授权与已安装的应用程序的授权标识符不匹配。这些值必须匹配才能允许升级。

屏幕截图1

这是在物理设备上以调试模式运行应用程序。仅运行iOS应用程序即可正常运行。

我再次关闭了应用程序组,并删除了已添加的权利文件,但存在相同的错误。


您能够找到修复程序吗?
prasad1250

1
是的,@ john-nesbitt的回答确实有效
Ric Santos

1
至于“为什么”,在我的情况下,发生在开发人员帐户更改上(可能会有所帮助)。已安装在帐户A上,并在更改为帐户B后尝试运行。(我在项目中没有授权文件)。
bauerMusic '17

首先查看第二个答案,它更全面,不会导致数据丢失。
arcady bob

Answers:


746

我在iPhone应用程序中遇到了此问题,并使用以下步骤修复了该问题。

  • 在连接设备并打开Xcode的情况下,选择Window-> Devices
  • 在弹出的窗口的左侧标签中,选择问题设备
  • 在右侧的详细信息面板中,从“已安装的应用程序”列表中删除有问题的应用程序。

完成之后,我的应用程序重新构建并正常运行。由于您的应用是watchOS应用,因此我不确定您是否会获得相同的结果,但值得尝试。


59
这将删除该应用程序及其所有内容。我需要升级,并且在可能的情况下不要丢失我的所有数据。
罗伯特·古梅森

65
因此,您删除了该应用程序
Railwayparade

6
我的应用程序未显示在Windows->“设备”列表中,但我已将其从电话中删除(按住图标不放),从而解决了该问题。谢谢约翰。
史蒂夫(Steve A)

16
我想测试应用程序迁移到新版本的情况,如果我从设备中删除现有应用程序(AppStore版本),则无法这样做。
mixtly87

3
当然可以,但是对于我而言,问题是,团队中的每个人每次都要使用同一设备时都要执行此操作,这很烦人,因此删除不是一个好的解决方案!
v01pe 2016年

97

我遇到了这个问题,无法在不删除并重新安装应用程序的情况下解决此问题(如此处所建议的那样,调配配置文件没有帮助)。

但是,我并没有丢失现有的测试数据。对于以后遇到此问题的任何人,以下是这样做的方法:

  1. 删除应用程序之前,请打开Xcode“设备”窗口(即cmd-shift-2)。
  2. 选择您的设备,然后在“已安装的应用程序”列表中找到您的应用程序。
  3. 单击齿轮图标,然后选择“下载容器...”。这会将所有应用程序数据复制到Mac。现在将其保存在某处。
  4. 删除应用程序,然后从Xcode重新安装。从Xcode杀死应用程序(单击停止按钮),使其不运行。
  5. 返回“设备”窗口,单击齿轮图标,然后选择“替换容器...”。选择在步骤3中下载到Mac的数据。

Xcode然后将还原您以前保存的应用程序数据。 现在,您已经拥有了旧的测试数据,并且该应用程序应该可以运行了。


3
在Xcode 8.使用“自动配置”功能时,这种效果尤其好
史蒂夫·马德森

2
我真的希望我在使用答案之前已经读过这篇文章。那么状态数据将被保存。(请参阅上面的评论)。
Tim Maher-De Troyer

1
这应该是选定的答案。
galactikuh

如果您不想丢失数据,则100%正确答案。应该接受答案。
arcady bob

我有相同的情况,但是我的有用数据在Userdefaults中。感谢帮助
Rahish

29

从您的iPhone中删除任何以前版本的App,然后再次执行Clean-> Build and Run。您的应用程序应在设备上流畅运行。

另外,在尝试直接在设备上运行项目时,请确保未在“项目设置”中选择“分发证书”。


28

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

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权利的配置文件。


2
我用于开发的通配配置文件已过期,并且错误地创建了特定于应用程序的配置文件。阅读您的帖子后,我创建了一个新的通配配置文件并使用了它。像魅力一样工作。您的帖子是最准确的,应该被接受。对于我们许多人来说,删除应用程序并丢失数据不是一个好选择。谢谢!
新手

17

我没有删除应用程序就解决了这个问题

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


首先,我尝试删除并重新安装该应用程序。没用 然后我向下滚动,看到了这个答案。该构建仅因自动UItests失败而出现此错误,而对于常规构建则失败,事实证明为常规构建而不是自动UItests选择了正确的配置文件。因此,更新是固定的问题..
auspicious99

5

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

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


4

脚步

  1. 在连接设备并打开Xcode的情况下,选择Window-> Devices
  2. 现在选择应用程序并使用设置图标下载容器
  3. 删除应用
  4. 使用Xcode重新安装应用
  5. 从Xcode停止
  6. 转到“窗口”->“设备”,然后选择应用程序并替换从以前的应用程序备份的容器

容器步骤不是必需的,但如果您希望维护数据,则很好。谢谢。
真棒


2

我自己尝试了一些操作,例如更新/制作新的配置文件,在Apple Member Center和项目中修复权利,但就我而言,我只需要删除应用程序并重新运行即可。

o_O


此应用程序的应用程序标识符授权与已安装的应用程序的授权标识符不匹配。

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

我想这件事对我来说是发生了,因为我们添加了一个新的应用程序扩展,并且肯定存在一些与目标相关的迁移问题?不确定但还是


是的,删除设备中已安装的应用,然后从Xcode重新运行。我遇到了这个问题,因为我在Xcode中添加了一个目标。
Syed Asad Ali

2

我发现我不小心将配置文件更改为包含通配符。

即,它从com.companyname.appnickname更改为com.companyname。*

我制作了一个新的配置文件,并正确命名了全名,下载了它,将Target-> build settings-> provisioning配置文件设置为该新配置文件,重新启动了xcode,xcode出现了一个奇怪的错误(这似乎使我的各种应用程序开发人员感到困惑登录),再次重新启动xcode,它就可以了!

我不想删除现有的应用程序,因为我试图测试用户将其应用程序升级到较新版本时会发生什么,因此我已经安装了应用程序商店版本,然后使用较新版本运行xcode(例如在不删除任何用户数据的情况下“升级”应用程序)。


您只需要确保使用与最初构建该应用程序时相同的Provisioning配置文件即可。
mj662 '16

2

我遇到了同样的错误,我通过将Bundle Identifier更改为新的错误来解决了。之后,它可以毫无问题地构建项目。

我的步骤:

  • 开启Xcode
  • 转到常规标签
  • 查找身份
  • 将捆绑包标识符更改为新的东西。

捆绑包标识符更改


2
如果您想测试应用程序更新,则此方法不起作用。
拉斐尔·奥利维拉

2
通过更改捆绑软件ID,您已经有效地创建了一个全新的应用程序。
Steve Madsen

2

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


1

卸载主要的iPhone应用程序,Watch应用程序,然后再次构建它们即可解决问题。


1

在按照https://forums.developer.apple.com/thread/17948将手表恢复为出厂默认设置之前,我遇到了同样的错误。

“显然,如果您有和现有的WatchOS 1应用程序,并尝试将其更新为WatchOS 2,则捆绑包标识符会更改并导致此错误。如果您更新手表,则必须先重置它(如果您已安装WatchOS1应用程序,然后再将该应用程序更新为WatchOS2。”


我还必须将手表恢复为出厂默认设置。尝试了所有其他相关建议,但无济于事。还重新生成了所有供应配置文件,以确保它们与权利保持一致。我的情况只是这里描述:有一个现有的WatchOS 1的应用程序,我试图更新WatchOS 2
刘若英


1

这是在我尝试在临时版本之上安装时发生的。


1

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

就我而言,问题是Xcode使用Xcode自动生成的配置文件。发生这种情况可能是因为我有一台新计算机,但没有转移分配配置文件。更不用说,我差不多有两年没有更新应用程序了。因此,我原来的配置文件(包含“权利”应用程序标识符)早已不复存在。解决方案:在Xcode首选项->帐户->选择适当的Apple ID->查看详细信息->在Provisioning Profiles下,右键单击该应用程序的Xcode生成的配置文件(其前缀为XC iOS),然后选择Move to Trash 。

帐户下的Xcode设置配置文件

在开发者网站上,使用您的应用程序ID创建一个新的分发配置文件。下载新的配置文件,双击,Xcode将自动安装它。相反,您可以返回Xcode中列出的配置文件,然后点击新创建的配置文件旁边的“下载”按钮。生成应用程序,然后尝试再次运行。顺便说一句,我的Xcode设置为自动管理代码签名,除了此问题之外,它还不错。


1

TLDR-从设备上删除该应用程序,然后再次运行。

就我而言:
1.我在iPhone 设备上编译并运行了该应用程序。 2.我在“ 功能 ”设置中打开并打开iCloud

。然后尝试再次运行该应用程序,繁荣,错误:“应用程序安装失败。此应用程序的应用程序标识符权利与已安装的应用程序的权利不匹配。这些值必须匹配才能允许升级。

4.然后我从iPhone 删除到应用程序(在这里阅读答案后)5.
一切正常


1

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

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

修理:

  • 确保将捆绑包ID设置为:

    $(PRODUCT_BUNDLE_IDENTIFIER)


0

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


0

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

旧应用程序未显示在6s“已安装的应用程序”列表中!我从6s手动删除了这个旧应用,一切都很好。


0

我遇到此问题的原因是,我在另一台机器上关闭了代码签名的状态下构建了手机,因此您需要先从手机上卸载该应用程序,然后再安装/构建到具有代码签名的手机上。


0

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


0

我今天也遇到了同样的问题,只是通过更改iPhone上安装的以前的应用程序的显示名称捆绑标识符来解决它。脚步:

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

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


0

以我为例,这是因为证书。

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

因此,万一发生这种情况,并且您无法获得“好的”证书,只需克隆git appStore版本,打开两个Xcode项目,编译旧版本,根据需要更新设置,然后编译新的到此为止。

有点肮脏和棘手,但我希望它可以帮助某人。


0

我的问题是应用程序ID与用于创建配置文件的证书相结合。我的所有配置文件都不起作用,因为它们都不是“ Elgible”(使用与应用程序ID匹配的证书创建的)。我将开发转移到了新机器上,所以也许这是更深层的原因。无论如何,我必须先创建一个新证书,然后再创建带有该证书的新配置文件,并在创建它们时小心选择正确的应用程序ID。祝好运。


0

上面的答案都不适合我。我的问题:我已经从Testflight安装了应用程序版本,因此,我只删除了旧应用程序和Testflight版本,然后又可以正常工作。


0

接受开发者网站和iTunes Connect网站上待定的协议并用X-Code重新打开该项目为我解决了这种情况。


0

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

证书列表截图

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


0

使用MacOS Catalina,您的iPhone将显示在Finder窗口的“位置”侧栏中(只要您已设置Finder首选项以显示外部设备)-然后,您可以通过“文件”选项访问文件可以从窗口顶部附近的标题栏中找到(在我的情况下,我必须单击右侧的“>”)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.