我的应用程序支持iOS8.0及更高版本。我知道从iOS7开始它的arm64位架构。在那种情况下,我们是否需要为" armv7"编译二进制文件。和" arm64"片
如果我单独为arm64编译,我可以减少我的App大小。这是正确的方式吗?
请帮忙。
答案 0 :(得分:1)
答案 1 :(得分:1)
根据我对Apple文档的理解,当您针对特定架构进行编译时,App的大小将会减少。它正确的做法。
Apple文档:
目标更少的CPU
默认情况下,Xcode项目配置为生成优化副本 您的应用程序在可执行文件的CPU特定“切片”中。不同 硬件将运行不同的可执行文件片段。这使得 强大的优化,只能在某些设备上实现。 但是,这可以大大增加您的应用程序的大小 可执行文件。
要仅定位特定CPU,请更改“体系结构”构建设置 从标准$(ARCHS_STANDARD)到特定名称列表 您想要支持的CPU。有效的CPU名称列在有效 体系结构(VALID_ARCHS)构建设置。不要更改有效 架构设置。它是残留的,最好由Xcode管理。
有关详细信息,请参阅this
答案 2 :(得分:0)
在这里您可以找到所有iPhone和Mac CPU架构的非常容易理解的解释:
Mac and iPhone CPU Architectures
当我决定从支持的体系结构中删除armv7架构时,这对我很有帮助:
排除体系结构时请仔细选择。使用armv7构建的应用程序将在所有当前的iOS设备上运行,甚至包括那些支持较新架构的设备(它将在iPhone 5S和更高版本上以32位运行)。但另一方面,没有armv7的应用程序构建将无法在旧设备(例如iPhone 4 / 4S或原始iPad mini)上运行。