iOS9随需应变资源(ODR)的向后兼容性

Tef*_*ffi 6 backwards-compatibility one-definition-rule ios ios9 on-demand-resources

按需资源(iOS)

按需资源是一种资源,例如图像和声音,您可以使用标记来标记关键字和组内请求.App Store托管Apple服务器上的资源并为您管理下载.按需资源可实现更快的下载速度和更小的应用程序大小,从而改善首次发布体验.例如,游戏应用可以将资源划分为游戏级别,并且仅当应用预期用户将移动到该级别时才请求下一级资源.同样,只有当用户购买相应的应用内购买时,应用才能请求应用内购买资源.

ODR对某些应用程序很有用,但这个新功能的向后兼容机制是什么.说实话,应用程序仅支持最新的iOS版本非常罕见.它最多只有两个版本.

我的理论是,旧版本可能会忽略整个ODR,让用户从商店下载应用程序的完整包.

有没有人有更多的信息可以澄清这个?

ric*_*ter 10

请参阅Apple关于App Thinning的文档中的此注释:

注意:对于iOS应用程序,最新的iTunes和运行iOS 9.0及更高版本的设备支持切片应用程序; 否则,App Store会向客户提供通用应用程序.

该文件并未100%明确其如何影响ODR,但它暗示:

  • 当iOS 9客户端从App Store下载您的应用程序时,iOS将仅下载基本应用程序(适用于设备切片),以及您在Xcode中的初始安装标记中包含的资源.
  • 当iOS 8或更早版本的客户端获取您的应用程序时,iOS将...

    在此输入图像描述

    ...以及所有特定于CPU的二进制文件,所有特定于设备大小的笔尖等.


Fre*_*rik 7

不幸的是,似乎ODR不支持iOS 9之前的部署目标:上传到App Store时,您将收到以下错误:

ERROR ITMS-90510:"Info.plist值无效.为MinimumOSVersion'8.0'提供的值小于包含按需资源的应用程序所需的值'9.0'.

话虽这么说,苹果将来可能会在App Store上实现这一点,所以请提交Radars来请求.