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

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

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

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

编辑:

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


当前回答

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

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

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

其他回答

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

编辑:

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

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

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

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

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

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

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

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

怎么做:

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

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