【问题标题】:Could not build module Darwin - arm64 issues无法构建模块 Darwin - arm64 问题
【发布时间】:2017-12-24 15:44:18
【问题描述】:

我开发了我的第一个 XCode5 ONLY 应用程序,它与我在 4.6 上完成的应用程序非常相似。它在模拟器和我的 iPhone 4、4S 和 5 以及我的 2 台 iPad 上运行得非常好。 但是,当我尝试验证它以提交到 App Store 时,我收到一大堆与 arm64 需要 7.0.0 或更高版本相关的错误。我将部署目标设置为 6.1,当我在 Xcode 5 中运行我以前在 4.6 中启动的应用程序时不会发生这种情况。 如果我将部署目标更改为 7.0,那么一切正常。 这里发生了什么?我需要更改哪些内容才能在 6.1 上进行验证? 谢谢。

编辑:好的,我将 Build Settings 中的 Architectures 更改为 Standard (armv7, armv7s) 删除 arm64,一切正常。那是正确的做法吗?大概它仍然可以在 iPhone 5S 上运行,但不是 64 位。对吗?

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    你还不能提交 64 位,但仍然支持 iOS 6。不过,你下个月就可以了。

    https://developer.apple.com/news/index.php?id=9162013a

    编辑:是的,如果你有 armv7 和 armv7s,你仍然可以在 iPhone 5s 上运行,尽管是 32 位模式。我建议现在用 armv7/armv7s 提交,下个月加入 arm64。


    2013 年 11 月 1 日更新:

    根据64-bit Transition Guide for Cocoa Touch 的 2013-10-22 版本,您现在可以使用 Xcode 5.0.1 生成包含 64 位和 32 位架构的二进制文件,并在较旧的 iOS 版本上运行。

    • 您需要使用 Xcode 5.0.1
    • 64 位版本只能在运行 iOS 7.0.3+ 的 64 位设备上运行
    • 32 位版本只能在运行 iOS 5.1.1+ 的设备上运行
    • 运行 iOS 7.0.0-7.0.2 的 64 位设备将使用 32 位切片

    【讨论】:

      【解决方案2】:

      您必须使用 iOS 7.0 作为部署目标才能为 arm64 构建。 如果你想支持 iOS 6.1,你最多只能坚持使用 armv7s。由于 arm64 处理器可以在 32 位模式下运行,这应该不是问题。

      【讨论】:

        【解决方案3】:

        好的,我通过将“搜索路径”中的“始终搜索用户路径”更改为“否”来解决问题,并且一切正常。而且我把参数设置为“是”,程序还是可以的。我不知道为什么会这样。

        当我更改包含程序的文件夹的位置时,会发生此问题。

        【讨论】:

        • 不知道如何以及为什么,但它帮助了我!非常感谢!
        【解决方案4】:

        当我添加一个 BOOL 变量时,我遇到了这个问题。 #import UIKit/UIKit.h 也显示为错误。这是您需要对默认项目进行的更改的屏幕截图。

        之前: 后:

        【讨论】:

          【解决方案5】:

          您应该在构建设置中将启用模块(C 和目标 c)设置为 NO: Apple LLVM 5.0 - language - Modules.

          (Answer from official forum)

          【讨论】:

            【解决方案6】:

            通过更改创建我的项目的位置解决了这个问题,在创建我的项目时,我保存在我的桌面上,当我创建一个存储库时它工作了,他显示了这个问题。

            我希望这个答案对某人有所帮助。

            【讨论】:

              【解决方案7】:

              我也遇到过几乎相同的错误。或多或少相同,但有两个例外。和用户 tjv 一样,我在 #import 上也有错误。而且我没有与 arm64 相关的链接器错误。缺少 arm64 可能是症状的关键区别。

              我的问题是我在我的项目文件中设置了几个预编译器宏

              Apple LLVM 5.1 - 预处理

              部分。我没有设置MACRONAME=1,而是输入了MACRONAME= 1 你可能已经猜到了。额外的空间让一切变得不同。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2019-03-04
                • 2022-10-20
                • 2021-04-18
                • 2018-04-16
                • 2015-06-19
                • 2020-04-02
                • 2013-12-08
                相关资源
                最近更新 更多