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

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

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

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

编辑:

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


当前回答

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

编辑:

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

其他回答

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

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

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

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

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

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

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

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

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

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

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

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

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

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