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

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

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

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

编辑:

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


当前回答

我经常遇到这个问题。我不确定这是否是问题所在,但我认为,当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.

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

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

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

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

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

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

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

编辑:

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