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

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

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

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

编辑:

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


当前回答

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

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

其他回答

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

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

怎么做:

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

给那些没有使用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>

编辑:

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

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

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

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

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.

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