我们是否需要为两者编译iOS应用程序;armv7“;及;arm64";如果我的部署目标是8.0?

我们是否需要为两者编译iOS应用程序;armv7“;及;arm64";如果我的部署目标是8.0?,ios,cpu-architecture,armv7,arm64,Ios,Cpu Architecture,Armv7,Arm64,我的应用程序支持iOS8.0及以上版本。我知道从iOS7开始,它就采用了arm64位架构。在这种情况下,我们是否需要为“armv7”和“arm64”片编译二进制文件 如果我只为arm64编译,我可以减少我的应用程序大小。这条路对吗 请帮忙。 您需要为这两个应用构建应用程序根据我在Apple docs中的理解,当您为特定架构编译应用程序时,应用程序的大小将减小,这是正确的做法 苹果文档: 以更少的CPU为目标 默认情况下,Xcode项目配置为生成优化副本 在可执行文件的CPU特定“切片”中显示应用

我的应用程序支持iOS8.0及以上版本。我知道从iOS7开始,它就采用了arm64位架构。在这种情况下,我们是否需要为“armv7”和“arm64”片编译二进制文件

如果我只为arm64编译,我可以减少我的应用程序大小。这条路对吗

请帮忙。


您需要为这两个应用构建应用程序

根据我在Apple docs中的理解,当您为特定架构编译应用程序时,应用程序的大小将减小,这是正确的做法

苹果文档:

以更少的CPU为目标

默认情况下,Xcode项目配置为生成优化副本 在可执行文件的CPU特定“切片”中显示应用程序的。不同的 硬件将运行可执行文件的不同部分。这使得 只有在某些设备上才可能实现的强大优化。 但是,这会大大增加应用程序的大小 可执行文件

要仅针对特定的CPU,请更改体系结构构建设置 从标准$(ARCHS_标准)到特定 要支持的CPU。有效的CPU名称列在有效的 架构(有效的架构)生成设置。不要更改有效的 架构设置。它是退化的,最好由Xcode管理

有关更多信息,请参考

,您可以找到关于所有iPhone和Mac CPU架构的简单易懂的解释

当我决定从我支持的体系结构中删除armv7体系结构时,它对我帮助很大:

排除体系结构时要小心选择。使用armv7构建的应用程序将在所有当前的iOS设备上运行,即使是那些支持较新架构的设备(它将在iPhone 5S和更高版本上以32位运行)。但另一方面,没有armv7的应用程序将无法在旧设备上运行,如iPhone4/4S或原版iPad mini


这仅仅表明需要64位代码。它没有显示32位代码也是必需的。请看最后一行您必须为32位和64位代码构建的代码,它只是说建议使用“标准体系结构”设置以确保提供64位支持。