目前,我的应用程序可在App Store中用于armv7
和arm64
体系结构。假设它是1.0版。由于二进制文件的大小,我考虑只针对64位设备的想法,以避免在胖二进制文件中使用armv7和armv7s切片。由于第3方框架(特别是Google),当前无法选择使用位码,因此我只能采用64位定位。假设它将是2.0版。
如果用户在armv7
设备上的App Store上查找我的应用程序,该怎么办?AFAIK,如果用户先前已下载应用程序版本1.0,则可以选择再次下载1.0版(即:恢复以前的下载)。
但是,如果用户以前从未下载过该应用程序,该怎么办?是否可以选择将1.0下载为该应用程序的“最后兼容”版本?还是会被迫下载不能在用户设备上运行的2.0?
我想提交arm64
更新而不限制我的听众(如果armv7
用户仍然使用该应用的先前版本,那没有问题)。
编辑
正如Nicolas Braun指出的那样,由于我的应用程序当前同时支持这两种应用程序armv7
,因此arm64
我无法提交arm64
仅更新,因为这会限制设备的要求。
如果我提交的更新有什么要求 iOS >= 9
没有位码的支持,将客户可以下载包含只需要为目标设备可执行架构的变种?
首先,一旦使应用程序可用于一组设备,就不允许添加技术限制(即设备功能),以防止其在以前兼容的设备上运行。
即使确实不清楚,Apple Doc中也对此进行了说明:
重要提示:当您提交二进制文件更新时,必须进行所有设备要求更改。仅允许您扩展设备要求。不允许将更新提交到二进制文件以限制设备要求。您无法限制设备要求,因为此操作会使先前下载了您的应用程序的客户无法运行新更新。
可以更改以限制兼容设备的唯一参数是最低OS版本。更具体地说
开发人员可以在应用程序更新中为UIRequiredDeviceCapabilities添加限制,前提是丢弃的任何设备都不支持指定的最低操作系统版本。来源
话虽如此,我认为无论Bitcode是否激活,App Thinning都可以在iOS9上运行。取自Apple App Thinning doc
切片是为不同目标设备创建和交付应用程序包变体的过程。变体仅包含目标设备所需的可执行体系结构和资源。
您可以在同一链接中看到位码不是同一回事。
干杯,
尼古拉斯
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句