由于未定义符号,Xcode构建失败:__swift_FORCE_LOAD _ $ _ swiftUIKit

时间:2019-07-02 15:29:34

标签: 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)

环境

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

6 个答案:

答案 0 :(得分:5)

对于XCode版本12.0.1(12A7300),

我刚刚将 libswiftWebKit.tbd 添加到了

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

并且构建成功。

答案 1 :(得分:3)

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

答案 2 :(得分:2)

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

将快速文件保存在那里,以便将来运行模拟器。

答案 3 :(得分:0)

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

我将其从Xcode 11.0-Beta.2.app重命名为Xcode-11.0-Beta.2.app,现在可以正常使用了。

答案 4 :(得分:0)

对我来说,我以前在Xcode 12中遇到过swift库的链接错误,我通过添加“ $(TOOLCHAIN_DIR)/ usr / lib / swift / $(PLATFORM_NAME)”和“ $(TOOLCHAIN_DIR)/usr/lib/swift-5.0 / $(PLATFORM_NAME)”进入“构建设置”的“库搜索路径”

答案 5 :(得分:0)

删除

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