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

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

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

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

编辑:

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


当前回答

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

其他回答

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

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

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

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

编辑:

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

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

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

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

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