iOS应用'仅在一台设备上无法验证该应用

问题描述 投票:233回答:13

我有两个iphone设备(4s和5)连接到我的电脑,我试图在两个设备中安装一个应用程序。它在iphone 5中安装得非常好,但它会出现错误'The application could not be verified'。当试图安装在iPhone 4s设备时。

两个设备的UDID已添加到为应用程序生成的配置文件中。

另外,要添加注释,我刚刚在我的4s设备中将我的iphone版本更新为8.1.3。我不确定错误是否与它有关。

任何有关这方面的帮助将非常感激。我已经坚持了一段时间了。

编辑:

我刚把它连接到另一台iPhone设备上,问题似乎又出现了。基本上这意味着该应用程序出于某种原因仅安装在我已经使用了一段时间的手机中,而不是安装在任何其他手机中。我再次确信供应配置文件包含所有这3个设备的UDID。

ios iphone xcode xcode6.1
13个回答
479
投票

最近我发生了类似的事情。我将我的iPhone更新到8.1.3,并且开始在几天前从同一台Mac上安装在同一iOS设备上的应用程序上从Xcode获取“应用程序无法验证”错误消息。

我从设备中删除了应用程序,重新启动了Xcode,随后在设备上安装的应用程序就好了,没有任何错误消息。不确定是否删除应用程序是修复,或问题是由于“月相”。


2
投票

工作和测试的解决方案,不需要删除应用程序:

看起来AppStore Distribution Provisioning Profile或仅iOS分发证书具有特殊权限,“无法验证...”问题不适用于它们。它们将始终覆盖以前的证书。

换句话说:AppStore版本将成功安装,即使已安装(测试,adhoc或企业)应用程序已经由来自不同团队的证书签名。

如果您很幸运并且之前已将应用程序上传到与证书相同的团队所拥有的AppStore帐户,则您会遇到问题 - 那么事情非常简单:只需从AppStore下载并安装应用程序即可。

安装时 - 应用程序证书将与您要测试的证书相同,问题就会消失。

如果您的应用尚未在App Store上运行 - iTunes Connect测试版即可解决问题:

免责声明:我没有对此进行测试,但由于证书的上一篇与AppStore版本相同,我敢打赌它有效:

  1. 使用AppStore配置文件(iOS分发证书)归档您的应用程序并上传到iTunesConnect(与您想要运行的配置文件中包含的同一开发人员团队所拥有的帐户)。
  2. 邀请具有您想要运行的设备的人(您自己?)进行beta测试。
  3. 从iTunes connect beta下载并安装该应用程序。
  4. 现在您可以安装测试版本了。

2
投票

TL; DR回答 - 除了“删除应用程序并重新安装”之外,没有真正的解决方案。

当您拥有一个不需要在应用程序中删除的现有数据库时,这个答案在许多情况下都不能令人满意。

Lukasz和plivesey是唯一一个不需要删除的解决方案,但对我来说都不起作用。


0
投票

我也遇到了同样的问题。删除应用程序不起作用,但当我尝试删除另一个应用程序,这是当前的'父母'(我从以前的应用程序复制整个项目,修改了一些网址和图像,然后我点击'运行',看到不开心'无法验证'对话框)。似乎该问题与配置和代码签名和/或项目的某些配置有关。非常棘手。


0
投票

我通过在xcode中将Build System更改为legacy来解决了这个问题。

我有同样的问题,但上面提到的解决方案对我不起作用。即使我以前没有设备上的应用程序,我在我的设备上部署时遇到此错误。

怎么做:

只需转到菜单文件>项目设置,在共享项目设置中,将构建系统从“新建系统(默认)”更改为“滞后构建系统”。


116
投票

我注意到该应用程序无法验证。提升,因为在您的设备中已经安装了具有相同捆绑标识符的应用程序。

我遇到了这个问题,因为在我的设备中有我的应用程序从App商店下载。我从Xcode测试它的更新版本。我使用相同的标识符,即实时应用程序和我的开发测试应用程序。所以我只是从我的设备中删除app-store Live应用程序,这个错误将被修复。


55
投票

只需删除应用程序并再试一次,当我尝试启动具有相同应用程序但由ipa文件生成的设备时,它会发生在我身上。


25
投票

在插入新设备时,您可能在Xcode中使用了“修复问题”选项。老问题,但我相信这是为什么会发生这种情况的实际答案。在设备上安装应用程序时,它会使用特定的开发配置文件进行签名。例如,如果您插入未在您的开发者帐户中注册的其他设备,Xcode将要求您“解决问题”。当您按下时,添加了设备并创建/修改了另一个配置文件。如果您尝试覆盖现有应用,则会收到该错误。删除应用程序并重新安装它,因为配置文件已被更改。我发现这经常发生在团队设置并且成员插入新设备然后Xcode“修复”问题时。


9
投票

可能已经弄清楚了......正如其他人之前提到的那样,从设备中删除应用程序对我有用(谢谢!)。

我认为原因是设备上的应用程序实际上是使用单独的配置文件签名的,特别是我的情况下的分发配置文件。


6
投票

我经常遇到这个问题。我不确定这是否是问题,但我认为,当xCode看到有一个应用程序具有与应用程序相同的包标识符时,我正在尝试安装,它不允许我。所以,我不得不删除旧版本并尝试安装并且它有效。但是有时为了测试目的,我需要同一个应用程序的多个版本,在这种情况下,我会更改包标识符并尝试安装。它只有在我使用通配符配置文件时才有效。


6
投票

对于不使用RubyMotion的其他人而言,不要认为删除应用程序是可以接受的(例如,您希望进行升级测试)。查看Apple的这些文档的底部:

https://developer.apple.com/library/ios/technotes/tn2319/_index.html

看起来他们在8.1.3中改变了一些东西以检查这个新规则。

修复

“[添加]已安装的应用程序的应用程序标识符值(如第二个括号中所记录的)到先前应用程序标识符权利的正在安装的应用程序的数组值(通过重新签名或重新构建它)并请求新的特殊配置文件如下所示。”

<key>previous-application-identifiers</key>
<array>
    <string>{Your Old App ID Prefix}.YourApp.Bundle.ID</string>
</array>

编辑:

为此,您需要特殊的配置文件。您可以从Apple请求这些:“要使用先前的应用程序标识符权利进行签名,需要新的特殊配置文件,可以通过访问”联系我们“页面并请求它们来获取。 (来自上面链接的文档)。


4
投票

在我的iPad上运行相同的问题8.1.3删除应用程序并再次安装修复了问题。我在两台不同的机器上使用了两种不同的配置文件,这可能导致了这个问题。


3
投票

无法验证应用程序“,在您的设备中可能已经安装了具有相同捆绑标识符的应用程序。

如此简单的解决方案只需删除应用程序并再试一次......

© www.soinside.com 2019 - 2024. All rights reserved.