首页 > 代码库 > iOS8: 企业开发的终结?

iOS8: 企业开发的终结?

iOS 8 的发布(现在是 iOS8.1),并不是对所有人来说都是值得高兴的事情。

对那些使用企业部署(不经过商店发布)的 app 开发者来说,又被苹果坑到了。因为 iOS 8 的一个Bug,导致企业部署再次出现了问题(记得上次是 iOS 7 升级)。

这个问题无论是在苹果开发者论坛,还是 stackoverflow,都已经吵翻天了。

https://devforums.apple.com/thread/239351

https://devforums.apple.com/message/1063293#1063293

让我们再次来回顾这个 Bug:

1、如果用户设备在 iOS 7 下安装了此 app(OTA 方式),那么当用户升级至 iOS 8后,将无法再安装此 app(无论是否删除后再安装,还是直接update)。设备日志中输出此错误:

LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: <bundle id>

2、iOS 7 下无此问题。如果用户在升级至 iOS 8 之前,并未安装过此 app,则升级至 iOS 8 后无论升级还是安装此 app 都正常。

3、在 iOS 8 下,当用户点击安装按钮,Safari 无法返回桌面。换句话说,window.close() 脚本无效了。

4、以上问题都是指 OTA 方式安装,用 itunes 安装则无问题。

5、重置设备(还原所有设置)可以解决此问题。

6、修改 Bundle ID 也可以解决此问题,但桌面上会出现新的图标,也就是说,如果你的 app 升级过 1 万次,那么桌面上会有 1 万个这个 app 的图标。

此 Bug 从 iOS 8 beta 开始,到 iOS 8.1,一直存在。

有人已经提交了一个 Radar :Filed #18657553

但苹果不是装聋作哑,就是糊弄了事。

笔者为此使用了DTS(Apple Developer Support)一年两次技术支持的机会,联系了苹果。但得到的答复(两封电子邮件)却是需要购买 App Care($99 or $695)。笔者不禁要问:每年 $299 的 DTS 就是让苹果发给我两封电子邮件而丝毫不解决任何问题?

再次感叹:苹果,真 tm 坑爹啊!

 

iOS8: 企业开发的终结?