2015-12-22 43 views
1

我一直在研究iOS 9的功能,并通过了App Thinning的概念。iOS App Slicing的基础是什么?是否有任何代码或其他必需的东西?

我已经从苹果的文档应用切片(应用细化的一部分)说阅读:

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

因此,基于这我能理解,如果我定义图像作为@1x@2x@3x,那么如果用户拥有iPhone 6加,那么只有@ 3倍的图像会被下载。但是其他资源呢?

我需要编写App slicing的任何代码吗?除了图片之外,我还可以从中获益吗?

我真的很想知道这些,在此先感谢!

回答

4

应用切片不仅支持基于1X,2X和3X的图像,但它也支持金属,音频,雪碧等的图册的应用程序结构如下图所示:

enter image description here

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

enter image description here

唯一要做的事情就是用资产目录

在Xcode中,指定目标设备,并提供:事情到这里是在资产目录

按照苹果添加文件, 切片是在正常的开发和销售工作流程,一般按以下步骤操作进行资产目录中图像的多个分辨率。 您必须使用资产目录才能分割资源。

在模拟器或设备上构建并运行应用程序。 Xcode为选定的设备类型构建应用程序的变体,改进了调试构建时间并允许您在本地测试变体。

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

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

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

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

在这里阅读更多的App Distribution Guide

+0

你可以指导我如何将我的图像分配给特定的设备?例如,我在资产目录文件中使用了myImage,我怎么能说xcode,这个设备是'@ 1x',这个设备是'@ 2x','@ 3x'是这个设备。 – NSPratik

+1

你不需要需要指定它,因为Apple知道相应的图像大小和其他文件以及这些文件所用的设备。这是一个自动的过程,并且不需要从开发者方面特别是在图像文件的情况下。 –

+0

但是,它如何区分资源,即哪个资源属于哪个目标设备? – NSPratik

相关问题