【问题标题】:Do we need to compile iOS App for both "armv7" and "arm64" if my deployment target is 8.0?如果我的部署目标是 8.0,我们是否需要为“armv7”和“arm64”编译 iOS 应用程序?
【发布时间】:2016-06-08 00:53:21
【问题描述】:

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

如果我单独为 arm64 编译,我可以减小我的应用程序大小。这是正确的方法吗?

请帮忙。

【问题讨论】:

    标签: ios cpu-architecture armv7 arm64


    【解决方案1】:

    Here 你可以找到所有 iPhone 和 Mac CPU 架构的非常容易理解的解释。

    当我决定从我支持的架构中移除 armv7 架构时,这对我帮助很大:

    排除架构时要谨慎选择。使用 armv7 构建的应用程序将在所有当前的 iOS 设备上运行,即使是那些支持较新架构的设备(它将在 iPhone 5S 及更高版本上以 32 位运行)。但另一方面,不使用 armv7 构建的应用程序将无法在 iPhone 4/4S 或最初的 iPad mini 等旧设备上运行。

    【讨论】:

    • 嗨,你终于删除了 armv7 支持吗?你在你的应用程序中看到任何缺点吗?谢谢!
    【解决方案2】:

    根据我对 Apple 文档的理解,当您针对特定架构编译应用程序时,应用程序的大小会减小,这是正确的做法。

    苹果文档:

    以更少的 CPU 为目标

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

    要仅针对特定 CPU,请更改架构构建设置 从标准 $(ARCHS_STANDARD) 到特定名称的列表 您想要支持的 CPU。有效的 CPU 名称列在 Valid 架构 (VALID_ARCHS) 构建设置。不要更改有效 架构设置。它是退化的,最好由 Xcode 管理。

    更多信息请参考this

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 这只是表明需要64位代码。它没有显示还需要 32 位代码。
      • 请查看您必须为 32 位和 64 位构建的最后一行
      • 这只是说它建议使用“标准架构”设置来确保提供 64 位支持。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      相关资源
      最近更新 更多