gpt4 book ai didi

xcode - Swift 在为此模块构建 ast 上下文时出现 fatal error

转载 作者:IT王子 更新时间:2023-10-29 05:00:25 24 4
gpt4 key购买 nike

我在 Xcode 7 beta (7A120f) 中将我的项目升级到 Swift 2,并在 lldb 提示符下尝试 po self 时出现此错误:

warning: Swift error in module myApp:

Swift had fatal errors constructing the ast context for this module: cannot load underlying module for 'UIKit'Debug info from this module will be unavailable in the debugger.

然后我只剩下一个残缺的调试器(没有值)。无论我在哪里放置断点,都会发生这种情况。我试过:

  • 清除派生数据
  • 产品 > 清洁
  • 重新启动 xcode
  • 重启电脑

我能够创建一个新项目并在其中看到调试输出,所以这可能与我的项目如何被 xcode 迁移有关。

什么是 ast 上下文,我该如何更正它?

编辑: ast 是“抽象语法树”。仍然不知道如何修复它。

最佳答案

我在我的项目中遇到了同样的问题。 lldb 在尝试 po 一个对象时吐出的错误突出了这个问题:

(lldb)po fileURL
warning: Swift error in module <APP_NAME>:
Swift had fatal errors constructing the ast context for this module: <module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Crashlytics.h"
^
<APP_PATH>/Pods/Crashlytics/Crashlytics.framework/Headers/Crashlytics.h:10:9: error: include of non-modular header inside framework module 'Crashlytics'
#import <Fabric/FABAttributes.h>
^

Crashlytics.framework 中的 Crashlytics.h 伞头正在导入 Fabric/FABAAttributes.h,它不是 Crashlytics 模块的一部分(即不在其 module.modulemap 中)。这是使用 CocoaPods 安装的 Crashlytics 3.1.0。

为什么 Xcode 7 将此视为 fatal error 我无法理解(这只是 6 中的警告)。在 Xcode 6 中,您可以通过在应用程序目标中启用“允许非模块化包含在框架模块中”(CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES)build设置来解决这种“非模块化 header 包含”。

我没有运气让 Xcode 7 测试版支持上述标志(rdar://22044453 <-- 请重复)。

我发现让调试器正常工作的唯一解决方案是删除 Crashlytics pod。我注释掉 Crashlytics 和 Fabric pod,运行 pod install,恢复调试,然后在发布前重新安装 pod。

我真的希望在 Xcode 7 推出 Beta 版时修复它。

关于xcode - Swift 在为此模块构建 ast 上下文时出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30946434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com