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

Sup*_*tar 8 xcode xcode11

我在 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)
Run Code Online (Sandbox Code Playgroud)

环境

  • macOS 10.15 Catalina Beta (19A487l)
  • Xcode 11.0 测试版 2 (11M337n)
    • Swift 5 模式

小智 21

对于 XCode 版本 12.0.1 (12A7300),

我刚刚将libswiftWebKit.tbd添加到

将二进制文件与库链接(来自项目,构建阶段

并且构建成功。

  • 将“libSwiftWebKit.tbd”添加到“Link Binary with Libraries”后,您可以立即将其删除。它应该将“$(SDKROOT)/usr/lib/swift”添加到“Build Settings”中的“Library Search Paths”。这样也不会破坏与 Xcode 11 的向后兼容性。 (4认同)
  • 适用于我的 Xcode 13,谢谢 (2认同)

小智 9

转到 Xcode,在项目名称中,右键单击并单击 \xe2\x80\x9cNew file\xe2\x80\xa6\xe2\x80\x9d\n选择 Swift File 并单击 Next\n选择项目目标并完成\nIn在下一个屏幕中选择 \xe2\x80\x9cCreate bridging Header\xe2\x80\x9d - 确保桥接。

\n

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

\n


Anh*_*vit 8

使用Xcode创建一个空的Swift文件,例如命名为test.swift,然后尝试再次运行

  • 将 Xcode 更新到 13 后,我的错误是“未定义符号:__swift_FORCE_LOAD_$_swiftDataDetection”,构建失败。这个解决方案有效。谢谢 (2认同)

Sup*_*tar 2

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

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