由于未定义的符号,Xcode 构建失败:__swift_FORCE_LOAD__$_swiftUIKit

我在 Xcode 11(一个带有 SwiftUI 的 iOS 单视图项目)中创建了一个全新的项目,并启用 Mac 作为目标设备。没有做任何其他事情,我尝试构建,我得到这个错误:

ld: warning: directory not found for option '-L/Applications/Xcode'
ld: warning: directory not found for option '-L11.0-Beta.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/uikitformac'
ld: warning: directory not found for option '-L/Applications/Xcode'
ld: warning: directory not found for option '-L11.0-Beta.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/uikitformac'
ld: warning: Could not find or use auto-linked library 'swiftUIKit'
Undefined symbols for architecture x86_64:
  "__swift_FORCE_LOAD_$_swiftUIKit", referenced from:
      __swift_FORCE_LOAD_$_swiftUIKit_$_MyProject in AppDelegate.o
      __swift_FORCE_LOAD_$_swiftUIKit_$_MyProject in SceneDelegate.o
      __swift_FORCE_LOAD_$_swiftUIKit_$_MyProject in ContentView.o
     (maybe you meant: __swift_FORCE_LOAD_$_swiftUIKit_$_MyProject)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

### 环境

  • macOS 10.15 Catalina 测试版 (19A487l)
  • Xcode 11.0 测试版 2 (11M337n)
    • Swift 5 模式
stack overflow Xcode build fails due to Undefined symbol: __swift_FORCE_LOAD_$_swiftUIKit
原文答案
author avatar

接受的答案

正如 directory not found 的警告所暗示的那样,Xcode 似乎不喜欢在其包的文件名中包含空格。

我将它从 Xcode 11.0-Beta.2.app 重命名为 Xcode-11.0-Beta.2.app ,现在它构建得很好。


答案:

作者头像

更新:这也适用于 XCode 版本 13.0 (13A233)。

对于 XCode 版本 12.0.1 (12A7300),

我刚刚将 libswiftWebKit.tbd 添加到

**Link Binary with Libraries** (来自项目,构建阶段

并且构建成功。

见下图: enter image description here

作者头像

使用Xcode创建一个Empty Swift文件,比如命名为test.swift,再次尝试运行

作者头像

转到 Xcode,在项目名称中,右键单击并单击“新建文件...”选择 Swift 文件并单击下一步选择项目目标并完成在下一个屏幕中选择“创建桥接头”-确保桥接。

将 swift 文件保留在那里以备将来运行模拟器。

作者头像

对我来说,我曾经遇到过使用 Xcode 12 的 swift 库的链接错误,我通过添加“$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)”和“$(TOOLCHAIN_DIR)”来解决它/usr/lib/swift-5.0/$(PLATFORM_NAME)”进入“Build Settings”的“Library Search Paths”

作者头像

消除

“构建设置”的“库搜索路径”中的“$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)”

作者头像

当我不小心将 XCTest 导入到应用程序目标时,我遇到了这个错误。直到我检查了 git diff 才注意到它。如果您遇到此问题,请确保您没有导出不适当的内容

作者头像

我不得不完全重新安装 Xcode,因为在“$(TOOLCHAIN_DIR)/usr/lib”中缺少 swift 文件夹

相关问题