【问题标题】:Based on what, iOS App slicing works? Is there any code or other stuff required for it?基于什么,iOS App 切片起作用?它是否需要任何代码或其他东西?
【发布时间】:2016-03-28 08:54:51
【问题描述】:

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

我从 Apple 文档中阅读了有关 App 切片(App Thinning 的一部分)的说明:

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

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

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

【问题讨论】:

    标签: ios ios9 app-thinning


    【解决方案1】:

    App Slicing 不仅支持基于 1x、2x 和 3x 的图像,还支持 Metal、audio、Sprite atlases 等。应用结构如下图所示:

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

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

    根据苹果, 切片是在您的正常开发和分发工作流程中执行的,通常如下进行:

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

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

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

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

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

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

    App Distribution Guide阅读更多内容

    【讨论】:

    • 您能指导我如何将图像分配给特定设备吗?例如,我在资产目录文件中获取了myImage,我怎么能说xcode @1x 用于此设备,@2x 用于此设备,@3x 用于此设备..
    • 您不需要指定它,因为 Apple 知道相应的图像大小和其他文件以及这些文件所针对的设备。这是一个自动过程,开发人员无需付出任何努力,尤其是在图像文件的情况下。
    • 但是,它如何区分资源,即哪个资源属于哪个目标设备?
    • 您可以查看此链接以查看不同苹果设备的图像尺寸为 1x、2x 和 3x - developer.apple.com/library/ios/documentation/UserExperience/…
    • 好的,所以根据资源的名称,它决定了我在问什么......对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 2015-06-17
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多