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