iOS 9 中最受用户欢迎的特性之一或许就是“App Thinning,”它将能够帮助用户大大减少安装应用时所需要的设备空间。可惜好像目前升级到 iOS 9 的用户暂时还不能体验这个新的特性。苹果公司日前在苹果开发者中心发布公告表示,因为 iCloud 问题 App Thinning 的上线时间将会推迟。根据苹果的介绍,这个问题是与 iOS 9 应用在iCloud中生成的备份有关。
因为 iCloud 问题 App Thinning 的上线时间将会推迟,但也只是暂时的。
苹果公告表示,因为 iOS 9 iCloud 备份出现了问题,App Store 中的部分应用只能恢复到 iOS 设备的同一个机型上,所以应用瘦身功能目前还不能使用。
当客户下载您的 iOS 9 应用,他们只能够获得您的应用的通用版本,而不是针对不同设备类型优化过的不同版本。TestFlight 将能够继续给您的内部测试者提供不同的变体版本。未来软件更新之后,应用瘦身功能将可重新投入使用。目前您还不需要采取任何应对措施。
苹果这则声明也解释了此前几周发布的应用更新自昨天早上起又重新发布了一遍,或许原因都与上述问题相关。TestFlight 虽然可以继续使用 App Thinning,但是开发者还不能在App Store上提供应用的“瘦身版。”
App Thinning 将能够提升应用在设备上的安装和启动速度,占用的空间也会比原来更小。其实 App Thinning 功能中有三个独立的机制,分别是App Slicing、on-demand resources 以及 Bitcode,它们在节省 iOS 应用资源方面发挥着各自的作用。
其中 App Slicing 在节省应用所需资源中发挥着最重要的作用。很多应用需要在不同尺寸的设备上运行,针对这些不同的设备,它们内含不同的独立资源,而大部分是你的设备不需要的。有了 App Slicing,开发者就可以根据设备添加资源标签,当用户从 iTunes 下载应用时,它将仅仅下载当前设备需要的资源。
ODR(on-demand resources 随需应变资源)是 iOS 减少应用资源消耗的另外一种方法。当用户点击应用内容的时候,就会动态从App Store上进行下载,也就是说用户只会在需要的时候占用存储空间。这项功能有趣之处还在于当将这些内容在后台进行下载之后,当存储空间紧张的时候会自动进行删除。
Bitcode 则是在用户下载应用之前,App Store 在自动编译应用程序。这样,即使开发者没有给他们的代码添加标签,应用也能够执行App Slicing的部分功能,仅下载设备需要的 32 或 64 位代码。不过 Bitcode 也意味着如果苹果完善编译器提高代码效率,用户下载应用时苹果进行的完善会自动整合进去。
iOS 9 的更新包体积从原来的 4.6GB 降至现在的 1.3GB,让不少 8GB、16GB 的 iPhone 和 iPad 老用户非常开心。而 App Thinning 方案进一步减小了系统在运行应用等多种实用情景时的存储资源占用,令人期待。