iOS App 切片的原理是什么?是否需要任何代码或其他东西?

NSP*_*tik 3 ios ios9 app-thinning

我一直在研究 iOS 9 功能并了解App Thinning的概念。

我从苹果的应用程序切片(应用程序细化的一部分)文档中读到:

切片是为不同目标设备创建和交付应用程序包变体的过程。变体仅包含目标设备所需的可执行体系结构和资源。您继续开发应用程序的完整版本并将其上传到 iTunes Connect。商店将根据您的应用支持的设备创建并提供不同的变体。图像资源根据其分辨率和设备系列进行切片。

因此,基于此,我可以理解,如果我将图像定义为@1x @2x @3x,那么如果用户拥有 iPhone 6 plus,则只会下载 @3x 图像。但其他资源呢?

我需要编写任何代码吗App slicing?除了图像之外,还有哪些其他方式可以使应用程序瘦身受益?

Nav*_*pan 6

App Slicing不仅支持基于1x、2x、3x的图片,还支持Metal、音频、Sprite图集等。应用结构如下图所示:

\n\n

在此输入图像描述

\n\n

很明显,除了图像之外,OpenGL ES、Metal、音频和处理器特定代码都在应用程序包中。应用切片时,根据应用下载的设备选择合适的资源。

\n\n

在此输入图像描述

\n\n

唯一要做的就是使用资产目录。这里的事情是在资产目录中添加文件

\n\n

按照苹果的说法,\n切片是在正常的开发和分发工作流程中执行的,通常按如下方式进行:

\n\n

在 Xcode 中,指定目标设备并在资产目录中提供多种分辨率的图像。\n您必须使用资产目录才能对资源进行切片。

\n\n

在模拟器中或设备上构建并运行应用程序。\nXcode 为所选设备类型构建应用程序的变体,从而缩短调试构建时间并允许您在本地测试变体。

\n\n

创建应用的存档并在本地为目标设备导出变体。\n测试您在目标设备上导出的所有变体,以便及早发现配置问题。

\n\n

将应用上传到 iTunes Connect。\n商店从存档中创建单独的应用变体。变体的数量取决于 Xcode 项目中指定的体系结构和资源。

\n\n

在 iTunes Connect 中,将应用的预发行版本分发给指定的测试人员。\n测试人员使用 TestFlight 在支持的设备上安装预发行版本。TestFlight 下载特定于 user\xe2\x80\x99s 设备的应用程序变体。

\n\n

注意:要在将应用程序分发给用户之前测试商店构建的变体,请仅邀请内部测试人员(您的团队\xe2\x80\x99s iTunes Connect 用户)并使用 TestFlight 下载变体。如果您邀请外部测试人员(用户仅指定其电子邮件地址),则外部测试人员必须等待 Beta 应用审核批准该应用,然后才能下载变体。\n在 iTunes Connect 中,发布该应用。\n用户在支持的设备上安装该应用,并且商店应用程序会下载特定于 user\xe2\x80\x99s 设备的应用程序变体。

\n\n

在应用程序分发指南中了解更多信息

\n