大资源应用的分发和pipe理策略
我正在构build一个需要1.8GB资源的应用程序。 这是一个将被安装在受控环境中的企业应用程序。 资源需要从一开始就在设备上使用,因为它将在没有networking覆盖的情况下使用。
资源是以数百个PNG图像的forms存在的专业地图图块,包含在语义相关的文件夹中。
当直接在项目中包含这些文件时,通过文件夹引用(因为图像是通过派生path获取的),Xcode的search速度很慢(由于索引和维护项目的复杂性),并且在testing设备上安装需要花费很长时间。 这可以通过在第一次构build之后删除图像来缓解(因此它们仍然在设备上),但这不是理想的。 另外,当他们在项目中时,包的大小是巨大的,这会导致部署的问题(不仅下载时间,但从内部Apperian应用程序商店下载,似乎经常失败,大概是由于纯粹的大小) 。
我已经尝试过在没有资源的情况下分发应用程序,并在需要时将其作为zip文件首次运行下载。 不幸的是,将资源解压缩需要花费不可持续的时间。
我怎样才能在Xcode的一个易于pipe理的项目,一个小的分发包,和一个可pipe理的首次运行的经验之间达到最佳状态? 我很高兴iPad能够在第一次安装应用程序的半个小时之内就坐在那里,但是除此之外的任何时间都不会起作用。 有没有比使用资源的zip文件更好的方法?
我已经尝试过在没有资源的情况下分发应用程序,并在需要时将其作为zip文件首次运行下载。 不幸的是,将资源解压缩需要花费不可持续的时间。
PNG文件是高度压缩的,所以你没有得到一个真正的好处,通过压缩他们。 您可以将它们存档在焦油球中,而非存档将更快。 也许,zip也有一个不压缩的压缩选项。
正交策略可以是,而不是只有一个档案,有多个档案。 然后,您可以按照给定的顺序下载/解压缩它们,以便在后台下载/解除其余部分的同时快速启用应用程序。 最后,这是否可行取决于你的应用程序。 既然你说文件夹有语义,你可以将文件夹(单独或分组)存档,然后在第一次启动时,询问用户要开始使用哪个文件夹(如果有意义的话),然后先下载文件夹。