【问题标题】:Why is my app only building the arm64 slice?为什么我的应用只构建 arm64 切片?
【发布时间】:2015-08-19 18:59:29
【问题描述】:

我的 iOS 应用具有以下构建设置:

然而,当我尝试将应用提交到商店时,我收到了这个错误:

如果我按照错误提示将 arm64 添加到 UIRequiredDeviceCapabilities,我会在提交时收到以下消息:

为什么第一个存档只包含 arm64 切片?

我的项目确实包含其他几个项目(RestKit 和 CocoaTouchBarcodes),但这些项目的构建设置看起来与我的相同。我的项目还链接到 Google Analytics 库。我已经确认它是最新版本。

什么可能导致我的问题?

【问题讨论】:

  • 您的项目构建设置和目标构建设置有什么区别吗?
  • 不,构建设置没有区别
  • 当您查看构建日志时,您看到的是正在构建一个架构还是两者都在构建? (试图了解这究竟是构建问题还是提交问题。)

标签: ios xcode ios8 app-store arm64


【解决方案1】:

我在提交 tvOS 应用程序时遇到了同样的问题,帮助我的是将其添加到所有 cocoapods 和框架 plist 中:

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
</array>

【讨论】:

    【解决方案2】:

    你有插入设备吗?

    -如果您插入了设备,则该设备的架构是 ACTIVE ARCHITECTURE,因此您需要拔下设备。

    也试试;

    -将目标和项目的“仅构建活动架构”设置为 NO。

    【讨论】:

    • 无论我是否插入了设备,我都会收到相同的错误消息。“仅构建活动架构”设置为否。
    【解决方案3】:

    事实证明,我将项目的 AppStore 有效架构设置为“armv7,arm64”,而不是目标。问题是那里的逗号。我一定是在某些时候手动输入架构时添加了它。去掉逗号后,armv7切片构建,应用商店提交成功。

    【讨论】:

      【解决方案4】:

      经过一番挖掘搜索,我明白了:

      1. “...给定键的存在表示需要相应的功能”
      2. ".. 省略一个键表示该功能不是必需的,但如果该功能存在,则应用程序能够运行"

      所以,如果您输入armv7,则它与only armv7 devices can run it 相同。可能在您的应用程序的先前版本中,您支持所有设备。因此,只需删除密钥 armv7,您的应用程序将能够支持所有类型的设备(armv7 和 arm64)。

      • 注意支持的架构

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-26
        • 2015-07-22
        • 2017-05-14
        • 1970-01-01
        • 1970-01-01
        • 2022-10-06
        • 2014-04-09
        • 1970-01-01
        相关资源
        最近更新 更多