iOS8应用程序通过itms-services URL进行空中安装失败

8

在之前的所有iOS版本中,我都使用itms-services:// URL来进行空中安装(OTA)测试iOS应用程序。现在,当我尝试使用这种方法安装应用程序时,所有搭载iOS8的设备都会失败。示例URL:

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

问题概要:

  1. 从网页启动Safari浏览器时,不像早期iOS版本那样退出到显示应用程序正在安装的主屏幕
  2. 应用程序从未成功安装。它被安装了,但是它被留下了一个灰色图标,而且应用程序无法启动。
  3. 这个问题在现有的iOS7设备上,使用相同的URL不会出现。

可能有关?https://dev59.com/IF8e5IYBdhLWcg3wb52S - ahruss
我刚刚通过testflightapp测试了我的应用程序,它运行良好。如果我没记错的话,该服务使用相同的分发方式。 - razor28
你有查看控制台输出以查看是否报告了任何错误吗?我曾经使用过这种方法来跟踪iOS7中itms-services清单的问题,它非常有帮助。 - liamnichols
5个回答

8
这似乎是iOS8 Beta5和GM版本中的一个错误。
在Buildozer,我们发现了一种解决方法:更改清单文件中应用程序的包标识符。 (更多细节请参见:https://buildozer.io/ios8
一个不涉及更改清单文件的解决方法是从备份中恢复整个设备,但是我们认为这个“黑客”方法对用户的干扰较小。

1
不好意思,它在iOS 8.0.2版本中仍未被修复 - 我仍然能够在该版本上重现错误。 - Peter Theill
你好。我看了上面的链接 https://buildozer.io/ios8。它指出需要在某个地方添加-iOS8。你能更具体一些吗?itms链接是用来下载ipa文件还是plist文件本身?我有这个问题。我有160个人处于混合状态。有些人运行iOS8.1及以下版本,有些人可以下载我们的应用程序,有些人则不能。非常奇怪。没有其他模式,除了手机大部分都可以,但iPad主要存在问题。能帮忙吗? - Carl Hine
仍未在8.1.3中修复... 感谢您提供的解决方法。 - dulgan

7

1
这个方法只在iOS 8.1企业账户分发时对我有效过一次,之后再也没有成功过。 - MB_iOSDeveloper

4
据我们所知,iOS 8.1版本仍未解决这个问题。我们发现,采用该解决方案会导致一些副作用。在iOS 7.0.x设备上使用此方法安装企业内部应用程序后,虽然应用程序安装成功,但主屏幕上留下了一个黑色方块,且无法删除。
你需要区分iOS8和其他iOS版本的安装方法,也就是说,在iOS8中更改安装方法,而在其他版本中保持原有的安装方法。

3

我曾经遇到同样的问题。通过以下方法解决了该问题:

  • plist文件通过HTTPS服务
  • IPA文件通过与plist相同域名的HTTPS服务提供
  • 在plist中添加full-size-image和display-image字段

0

我们曾经遇到过相同的问题。我们的原因是TestFlight之前已安装了该包。似乎TestFlight已经(曾经)安装了一个配置文件,只有它才能更新应用程序,即使它们已被卸载和删除。

解决方法是在plist中添加一些后缀来标识bundle标识符。

当然,这会导致另一个问题,即在下载完成之前和IPA解包并与设备上已有的应用程序匹配之前会显示第二个图标。

BIG NOTICE:这仅是iOS8的问题,因此您最好在下载过程中检查用户代理。它将为itunesd,并包含确切的iOS版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接