ios - 大资源APP分发管理策略

标签 ios enterprise-distribution

我正在构建一个需要 1.8GB 资源的应用程序。这是一个企业应用程序,将安装在受控环境中。资源需要从一开始就在设备上,因为它将在没有网络覆盖的情况下使用。

资源是专业 map 图 block ,以数百张 PNG 图像的形式包含在语义相关的文件夹中。

当通过文件夹引用将这些直接包含在项目中时(因为图像是使用派生路径检索的)Xcode 变慢到爬行(由于索引和维护这种复杂的项目)并且在测试设备上安装需要永远.这可以通过在第一次构建后删除图像来缓解(因此它们仍在设备上),但这并不理想。此外,当他们在项目中时,包的大小很大,这会导致部署出现问题(不仅是下载时间,而且从我们的内部 Apperian 应用商店下载时似乎经常失败,大概是由于庞大的大小) .

我尝试过在没有资源的情况下分发应用程序,并在需要时将其下载为 zip 文件。不幸的是,解压缩资源需要花费不可持续的时间。

如何在 Xcode 中易于管理的项目、小型分发包和易于管理的首次运行体验之间找到最佳平衡点?我很高兴 iPad 在首次安装该应用程序时能在那里放置半小时左右,但超过此时间将无法正常工作。有没有比对资源使用 zip 文件更好的方法?

最佳答案

I've experimented with distributing the app without the resources and having it download them, if required, on first run as a zip file. Unfortunately unzipping the resources takes an unsustainable amount of time.

PNG 文件是高度压缩的,因此压缩它们并没有真正的好处。相反,您可以将它们归档在一个 tar 球中,并且取消归档会快得多。也许,zip 也有一个 archive-without-compression 选项。

正交策略可以是多个文件,而不是只有一个文件。然后,您可以按给定顺序下载/取消存档它们,以便让应用程序快速运行,同时在后台完成其余的下载/取消存档。这是否可行最终取决于您的应用程序。既然你说文件夹有语义,你可以存档文件夹(单独或成组),然后在第一次启动时,询问用户他想开始使用哪个文件夹(如果有意义的话),然后先下载那个文件夹。

关于ios - 大资源APP分发管理策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24605770/

相关文章:

ios - 列出带有电话号码的联系人

ios - 在 map View 的可见矩形中显示 MKMapViewAnnotations

ios - 在 iOS 14.0 及更高版本上无法下载临时分布式应用程序

ios - iOS7注册或登录后如何显示标签栏

objective-c - 在 iOS 中显示动画 GIF

iphone - 如何将自定义图像添加到导航栏并保持 back 方法完好无损?

ios - Ad-Hoc和企业签名的应用程序在iOS 13.3.1的启动屏幕上崩溃

ios - 下载进度条在 iOS 企业发行版中没有改变进度

ios - iPhone错误-未从App Store安装此应用,必须手动安装

ios - 安装企业 ios 应用程序而无需信任设备管理