我有一个目前在App Store中的应用程序。 它有大约500mb的数据,以便运行。
在下载应用程序后,我正在与各种方法进行斗争并采取各种方法来安装这些数据,包括AFNetworking和WhiteRaccoon,但无济于事......截止日期很快,所以我决定 ahem 将内容捆绑到App Bundle中,稍后再担心。这意味着应用程序的大小决定了人们在WiFi上下载它,但是......无论如何。
现在,我发现了NSURLSession,这让我非常高兴,它完成了我所需要的一切,我无法让其他人做到这一点(请参阅此问题的my answer)。
所以......我已准备好向App Store推送新的更新,我的存档大小已经从 491.2mb 减少到 32.2mb (!! ?哇噢?!)。
我很好奇Apple如何管理它。我读过this document提到了他们使用的技术,通过检测未更改的内容来降低应用包大小,但没有明确提及我所面临的方案。
现在,如果要将460mb左右的过时捆绑/代码存储在用户的设备中,我希望能够向他们推荐他们完全删除应用程序并重新安装......但我很好奇如果我/他们需要这样做,或者有人知道Apple将如何处理这种情况吗?
感谢。
答案 0 :(得分:1)
您引用的文档Technical Q&A QA1779: Reducing Download Size for iOS App Updates涵盖了Apple为优化应用更新大小所做的工作。但净效应与用户设备上的应用程序包完全被替换的效果相同。正如该文件所说:
除了新内容之外,更新包还包含有关如何将应用程序的先前版本转换为新版本应用程序的说明。将添加新文件,修改后的文件将替换为更新后的文件,删除的文件将作为此转换的一部分删除。就开发人员和用户而言,此过程完全透明,最终更新的应用程序与完全下载相应更新版本的应用程序无法区分。
所以,不,你不必告诉用户删除旧应用程序,除非需要重置持久存储(文档,NSUserDefaults
等)中的任何内容。无论如何,你应该以编程方式处理它。