我有一个 iPad 应用程序,在 beta 测试期间可能需要在这里和那里进行少量代码更新,但有大量图形资源 (300MB+)。
有没有办法创建一个仅包含更改的部分 .ipa 文件,而不是每次都重新安装整个应用程序以及图形文件?
简短的回答:不!
解释:
苹果给你没有办法这样做!
.ipa 只是一个 .zip 文件。因此,乍一看,您可以做到。
但是有2个问题
不,您所想的将被视为“补丁”。Apple 会强制您更新整个应用程序包。以 Tomtom 应用程序为例。该应用程序的大小约为 1.5GB,因此对于小的微小更改,他们需要重新上传整个 1.5GB 捆绑包。
对于 App Store 版本,自 iOS6 和 iOS 7.1 以来,情况发生了变化:
从 iOS 6 开始,应用商店将自动为提交到商店的所有新版本应用生成更新包。生成更新包时,应用商店会将您应用的一个或多个先前版本与新版本进行比较,并为每个版本创建一个优化包,其中仅包含您的应用版本之间发生更改的内容,不包括任何未更改的内容. 这种比较着眼于应用程序包中的所有内容,包括应用程序可执行文件、nib、本地化、图像文件、视频文件、音频文件、文本文件以及包含自定义格式数据的文件。
对于运行 iOS 6.x 和 iOS 7.0 的设备,更新包将包含在新版本应用程序中已更改的所有文件。例如,如果您的应用中有一个 10 MB 的文件,并且在新版本的应用中仅更改该文件中 1 KB 的内容,则该新版本的更新包将包含完整的 10 MB 文件。
对于运行 iOS 7.1 及更高版本的设备,更新包可能仅包含更改文件的新旧版本之间的差异,而不是完整文件。在大文件只有一小部分更改的情况下,这可能会显着减小更新包的大小,但会增加更新在设备上的安装时间。因此,即使对于 iOS 7.1 及更高版本的更新,上述两个提示仍然很重要。将更改的内容最小化并将其本地化为许多较小的文件而不是一个较大的单一文件将在所有情况下减少下载大小,并将加快在运行 iOS 7.1 及更高版本的设备上的安装速度。
来源: https ://developer.apple.com/library/archive/qa/qa1779/_index.html