使用itms-services URL的iOS8应用程序无法播放(OTA)安装失败

对于iOS的所有先前版本,我已经使用itms-services:// URL通过无线(OTA)安装testingiOS应用程序。 现在,使用这种方法尝试安装应用程序时,所有装有iOS8的设备都失败。 示例url:

itms-services://?action=download-manifest&url=https://myWebsite/myApp/myApp.plist 

问题摘要:

  1. 用于从网页启动安装的Safari浏览器不会退出到以前的iOS版本中显示应用程序安装的主屏幕
  2. 应用程序从未成功安装。 它安装,但被留作灰色的图标,应用程序不会启动。
  3. 在现有的iOS7设备上,使用相同的URL不会发生此问题。

这似乎是iOS8的Beta5和GM版本中的一个错误。

在Buildozer中,我们发现了一个解决方法:在清单文件中更改应用程序的包标识符。 (更多细节: https : //buildozer.io/ios8 )

不涉及更改清单文件的解决方法是从备份还原整个设备,但是我们认为清单“hack”对用户的干扰较小。

这个答案帮助我解决了这个问题。 看来,对于iOS8,您必须在清单.plist文件的assets密钥中包含display-imagefull-size-image密钥。 在为企业和附加部署保存归档文件时,它们在Xcode 5中可用,但不是必需的。

我已经在install-manifet.plist文件的模板上创build了github的要点。 原文可在http://www.informit.com/articles/article.aspx?p=1829415&seqNum=16上find

据我们所知,这个问题在iOS 8.1中还没有解决,我们发现这个解决scheme会带来一些副作用。 iOS 7.0.x设备使用这种方法安装inHouse应用程序,虽然应用程序安装成功,但主屏幕留下了一个黑色的方块,并且不能被删除。

您必须在iOS8和其他iOS版本之间分开安装方法,这意味着您要更改iOS8中的安装方法,并将原始安装方法保留在其他版本中。

我有同样的问题。 在我的情况下,这个问题是固定的

  • plist是由HTTPS提供的
  • IPA由与plist相同的域的HTTPS提供
  • 全尺寸图像和显示图像出现在plist中

我们有同样的问题。 我们的原因是TestFlight以前已经安装了这个包。 似乎TestFlight已经安装了一个configuration文件,只有它可以更新应用程序,即使它们被卸载和删除。

解决方法是在plist中为包标识添加一些后缀。

这当然造成了另一个问题,即在完成下载之前显示了一个辅助图标,并且IPA已经解压并且与已经在设备上的应用匹配。

大通知:这只是iOS8的一个问题,所以你最好在下载过程中检查用户代理。 这将是itunesd,将包含确切的iOS版本。