2014-10-20 156 views
1

我有一个当前在App Store中的应用程序。 它有大约500mb的数据,它需要运行。iOS减少App Store更新中的二进制大小

我是战斗和战斗的各种方法的应用程序被下载后安装该数据,包括AFNetworkingWhiteRaccoon,无果......最后期限到来快,所以我决定只啊哈捆绑到内容应用程序包,并担心它。这意味着应用程序的大小决定了人们在WiFi上下载它,但是......无论如何。

现在,我已经发现了NSURLSession,这让我很高兴,它做了我需要的一切,我无法让其他人做(见my answer这个问题)。

所以......我准备推新的更新到App Store,而我的档案大小已从491.2mb减少到32.2mb(!?哇噢?!)。

我很好奇苹果如何管理这个。我已阅读this document,其中提到了通过检测未更改的内容来减小应用程序包大小的技术,但它没有明确提及我所面临的情况。

现在,如果460mb左右的废弃捆绑包/代码将被存储在用户的设备中,我希望能够向他们推荐他们完全删除该应用并重新安装...但我是好奇,如果我/他们需要这样做,还是有人知道苹果如何处理这种情况?

谢谢。

+1

恭喜您减少您的应用程序大小。你的新设计听起来更好。用户不需要删除并重新安装您的应用程序。 App Store diff软件包将删除此内容(除非以编程方式将其复制到保留的目录中,例如文档)。 – 2014-10-20 01:38:27

+0

好吧,原来的内容只是复制到App Bundle中。新内容 - 目前 - 位于Documents目录中,但不是全局文件,位于App Sandbox内... – 2014-10-20 01:52:01

+0

因此,随着内容已被复制到Documents文件夹中,如果我删除了该应用程序并且重新安装,我应该看到这些文件?原因我没有看到这种行为...(我查询了我在/ Documents中制作的自定义目录,并测试在我开始下载之前是否拥有所有内容) – 2014-10-20 01:56:21

回答

1

您引用的文档Technical Q&A QA1779: Reducing Download Size for iOS App Updates涵盖了Apple为优化应用程序更新大小所做的工作。但实际效果与用户设备上的应用程序包完全替换相同。正如该文档所述:

除了新内容,更新包还包含有关如何将应用程序的先前版本转换为新版本应用程序的说明。新文件将被添加,修改后的文件将被其更新的文件替换,并且删除的文件将作为此转换的一部分被删除。就开发人员和用户而言,这个过程是完全透明的,由此产生的更新应用程序将无法与其应用程序的相应更新版本的完整下载区分开来。

所以,不,你不必告诉用户删除旧的应用程序,除非持久存储(文件,NSUserDefaults等)中有任何东西需要重置。无论如何,您应该可以通过编程来处理这个问题。

+0

好的,第一遍没有听到这句话......谢谢。 – 2014-10-20 02:23:49

+1

无耻的插件来自声誉低于80k的人 - 我很乐意看到一些负责任的问题! ;-) – 2014-10-20 02:24:40