iOS应用商店更新 - 补丁?

4

当通过iTunes Connect向应用商店提交应用程序更新时,更新是否必须是整个二进制文件?更新可以以补丁的形式出现吗?如果一个应用程序的第二个版本与先前版本共享许多资源和逻辑,那么所有这些逻辑/资源是否都需要完全重新安装?


2
不,这是不可能的。它会重新下载整个应用程序并安装,但文档目录中的内容仍将保留。 - Manish Agrawal
明白了。希望破灭了。非常感谢。 - kid_x
3个回答

3

没有补丁。它被安装为整个只读捆绑包。旧的捆绑包将被新捆绑包替换。

应用程序数据保留(例如文档文件夹,NSUserDefaults)。


正是我想知道的。谢谢你的帮助。 - kid_x

3

正如先前所有人所说,苹果不提供热补丁本地应用程序的方法,而且有明确的限制 - "禁止远程代码注入"。

我唯一可以添加的是,使用JavaScript平台的混合应用程序允许您远程替换JS文件,因此您实际上可以在不发布新版本的情况下远程更改功能。其他解决方案我见过都处于灰色地带,并允许您远程运行 Lua脚本 更改应用程序功能。

我们 @ Rollout.io 采用了不同的方法,我们允许您在本机应用程序上进行生产应用程序的热修复,而无需进行代码注入。您可以在此处阅读有关技术工作原理的更多信息。

Rollout旨在帮助移动开发人员解决生产质量问题,热修复生产应用程序,调试生产环境,添加/删除分析等等。

披露:我来自Rollout.io团队。


2
iOS 6现在支持增量应用更新。这很棒,使得Real Racing 3(一个1.1GB的应用程序)的更新时间从20分钟缩短到了约30秒!

https://developer.apple.com/library/ios/#qa/qa1779/_index.html

问:如何减小已安装了之前版本的用户下载应用更新的大小?
答:从iOS 6开始,应用商店将自动为提交到商店的所有新版本应用程序生成更新包。此包优化了应用程序从一个版本更新到另一个版本,并包含在先前版本和新版本之间发生更改的文件,不包括未更改的文件。
当使用得当时,更新包要比完整应用程序包下载的体积小得多,更新也会更快地安装。此外,在许多情况下,该机制允许大型应用程序的更新可以通过蜂窝网络下载,其中应用程序下载受到大小限制。
除新内容外,更新包还包含有关如何将应用程序的先前版本转换为新版本的说明。在此转换过程中,将添加新文件,将替换修改的文件为其更新的对应文件,并删除删除的文件。对于开发人员和用户来说,这个过程是完全透明的,结果更新的应用程序将与相应的更新版本的完整下载无法区分。
开发者可以在上面的链接中获取更多指示。

应用商店将自动为提交到商店的所有新版本应用程序生成更新包,但是那些托管在其他服务器上的企业应用程序会发生什么?它们的更新如何进行? - raw3d
企业应用程序仍然通过替换整个应用程序捆绑包进行更新。 - Alastair Stuart

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