我有两个iphone设备(4s和5)连接到我的电脑,我试图在两个设备上安装一个应用程序。它在iphone 5上安装得很好,但它给出了一个错误“应用程序无法验证”。在试图安装到iPhone 4s设备时。

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

另外,补充说明一下,我刚刚在我的4s设备上把我的iphone版本升级到8.1.3。但我不确定这个错误是否与此有关。

任何帮助在这方面将非常感激。我已经被这个问题困扰了一段时间了。

编辑:

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


我最近也遇到过类似的事情。我把我的iPhone升级到8.1.3版本,几天前在同一台Mac上安装在同一台iOS设备上的应用程序开始收到来自Xcode的“应用程序无法验证”错误消息。

我从设备上删除了应用,重新启动Xcode,应用随后安装在设备上,没有任何错误消息。不确定删除应用程序是解决问题的方法,还是因为“月相”。


只要删除应用程序,然后再试一次,当我尝试在一个设备上启动有相同的应用程序,但由ipa文件生成时,就会发生这种情况。


可能已经发现了…从设备上删除应用程序对我来说是有效的,就像其他人之前提到的那样(谢谢!)

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


在我的iPad上运行8.1.3删除应用程序并重新安装解决了这个问题。我在两台不同的机器上使用了两个不同的配置配置文件,这可能导致了这个问题。


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


You probably used the "Fix Issue" option in Xcode when plugging in a new device. Old question but I believe this is the actual answer to WHY this is happening. When you install an app on a device it is signed with a specific development provisioning profile. If, for instance, you plug in another device that is not registered on your developer account Xcode will ask you to "fix the issue". When you press that the device is added and another provisioning profile is created/modified. If you try to overwrite an existing app you'll receive that error. Deleting the app and reinstalling it works since the profile has been altered. I find this often happens when a Team is set and a member plugs in a new device then Xcode "Fixes" the problem.


给那些没有使用RubyMotion并且认为删除应用是不可接受的人(比如,你想做升级测试)。看看下面这些来自苹果的文档:

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

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

修复

“[添加]第二个圆括号中记录的已安装应用程序的application-identifier值,到正在安装的应用程序的前一个application-identifier授权数组值(通过重新命名或重新构建它),并请求新的特殊配置配置文件,如下所示。”

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

编辑:

为了做到这一点,您需要特殊的配置文件。你可以向苹果请求这些: “要启用与以前的应用程序标识符授权的签名,需要新的特殊配置文件,可以通过访问联系美国页面并请求它们来获得。”(从上面链接的文档)。


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


我注意到申请无法被验证。Raise up是因为在您的设备中已经安装了具有相同bundle标识符的应用程序。

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


工作测试方案,无需删除应用程序:

看起来AppStore分发配置文件或iOS分发证书具有特殊权限,“无法验证…”问题不适用于它们。它们将始终覆盖以前的证书。

换句话说:AppStore发布将成功安装,即使已经安装(测试、临时或企业)的应用程序已经由不同团队的证书签署。

如果你很幸运,并且之前已经将应用上传到了你有问题的证书所拥有的AppStore帐户,那么事情就很简单了:只需从AppStore下载并安装应用。

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

如果你的应用还没有在AppStore上,iTunesConnect测试版就可以拯救你了:

免责声明:我没有测试这个,但由于cert和prev与AppStore发布相同,我打赌它是有效的:

使用AppStore配置文件(iOS分发证书)存档应用,并上传到iTunesConnect(上传到与配置文件中包含的开发团队相同的帐户,而不是你想运行的帐户)。 邀请拥有你想要运行的设备的人(你自己?)进行beta测试。 从iTunes connect beta下载并安装应用程序。 现在可以安装测试版本了。


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

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

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


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

这么简单的解决方案只是删除应用程序,再试一次.. …


我通过在xcode中将构建系统更改为遗留系统来解决这个问题。

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

怎么做:

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


我已经改变了团队,但我忘记在我的测试目标中改变它,所以它造成了这个问题。也许这能帮到别人。


刚刚也遇到了同样的问题,我发现问题是证书过期了。 我的应用程序通过firebase分发(AdHoc),几天前应用程序工作得很好。 今天我意识到我无法安装它,因为“应用程序无法验证”。

最后我意识到我用于应用程序签名的证书已经过期2天了。 您需要再次上传它,然后才能安装它。


我也有同样的问题。但是,我意识到我使用的是一个带有(调试)和(发布)配置的plist,就像这样。

所以,我改变了一些东西。

为(发布)保持一个单独的方案。 出于发展的目的,我增加了一个新方案。 编辑新方案>运行>构建配置>并将其设置为(发布) 使用新的方案生成一个新的存档,瞧!! 我可以安装在我所有的设备上。


我的情况:

iPhone越狱'ed

最终解决方案:

通过Cydia安装调整AppSync统一 绕过签名/证书验证