Xcode构建失败,原因是未定义符号:__swift_FORCE_LOAD_$_swiftUIKit

zxlwwiss  于 2023-06-24  发布在  Swift
关注(0)|答案(8)|浏览(536)

我在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模式
fxnxkyjh

fxnxkyjh1#

更新:XCode Version 13.0(13A233)也可以。

对于XCode版本12.0.1(12A7300),
我刚刚添加了libswiftWebKit.tbd

链接二进制和库(来自项目,构建阶段

并且构建成功。
见下图:

juud5qan

juud5qan2#

进入Xcode,在项目名称中,右键点击“新建文件...”选择Swift File,点击Next选择项目目标并完成在下一个屏幕中选择“Create briding Header”-确保桥接。
将swift文件保存在那里以便将来运行模拟器。

cfh9epnr

cfh9epnr3#

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

1dkrff03

1dkrff034#

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

jaql4c8m

jaql4c8m5#

正如directory not found的警告所暗示的那样,Xcode似乎不喜欢在其包的文件名中有空格。
我将它从Xcode 11.0-Beta.2.app重命名为Xcode-11.0-Beta.2.app,现在它构建得很好。

to94eoyn

to94eoyn6#

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

mwg9r5ms

mwg9r5ms7#

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

ui7jx7zq

ui7jx7zq8#

移除
"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)"来自构建设置的“库搜索路径”

相关问题