ios 8 openUrl itms-services不会退出当前的应用程序

And*_*son 19 openurl ios ipa ios8

在iOS 6或7中,当我调用UIApplication openUrl时,应用程序退出到主屏幕,其中包含itms-services://XXXX安装我的应用程序的新版本的URL (使用带有ipa文件的企业部署).

在iOS 8中,情况已不再如此.现在应用程序继续运行,就像没有发生任何事情一样,但是如果我进入主屏幕,我可以看到我的应用程序图标变灰,下载饼图约66%完成,"Downloading..."下面的文字.如果我现在等待一段时间(不到一分钟),应用程序安装正确,我可以再次启动我的应用程序.

有没有其他人经历过这种行为?有没有人见过这方面的文件?只要记录在案,我就可以接受行为改变,但我没有看到任何关于此的文档.

wot*_*tle 6

虽然强制应用程序崩溃将在技术上有效,但更好的解决方案(允许用户保留应用程序的状态)将通过执行以下操作简单地启动应用程序启动itms-services链接.

[[UIApplication sharedApplication] performSelector:@selector(suspend)];
Run Code Online (Sandbox Code Playgroud)

我们在用于向我们的测试人员分发测试版本的应用程序中使用它,并且它工作得非常好,并且消除了测试人员试图安装应用程序并让应用程序保持在前面的困惑.它还允许他们返回我们的分发应用程序,并让它在他们所在的地方.


lia*_*ols 0

是的,现在在 iOS8 上单击 Safari 中的下载链接时也会出现相同的行为。

我不确定他们为什么引入此更改,但实际上没有办法解决它(除非您强迫您的应用程序因类似的情况而崩溃exit(0);

此外,itms-servicesurl 方案没有记录,从技术上讲是一个私有 api。根据经验,您不允许将使用它的应用程序提交到应用程序商店。