Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode build fails due to Undefined symbol: __swift_FORCE_LOAD_$_swiftUIKit

Tags:

xcode

xcode11

I created a brand new project in Xcode 11 (an iOS single-view project with SwiftUI) and enable Mac as a target device. Without doing anything else, I try to build, and I get this error:

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)

Environment

  • macOS 10.15 Catalina Beta (19A487l)
  • Xcode 11.0 beta 2 (11M337n)
    • Swift 5 mode
like image 815
Ky. Avatar asked Jul 02 '19 15:07

Ky.


People also ask

How do I fix undefined symbol in XCode?

The error Undefined symbols for architecture arm64: "_OBJC_CLASS_$_SKAdImpression" during the iOS build usually happens if XCode or CocoaPods version is lower than required. To fix it update XCode to 12.5 or higher and CocoaPods to 1.10. 0 or higher.

What does undefined symbol mean in XCode?

Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_xxx", referenced from: objc-class-ref in yyy.o. This generally means, you are calling "xxx" (it may be a framework or class) from the class "yyy". The compiler can not locate the "xxx" so this error occurs.

How do you fix undefined symbols in C++?

You need to pass the values to the function Calculate. Variables x, y, z and function are not accessible outside the class and also u need a return type to the function so that you can get the output from the function Calculate.

Why is there an undefined symbol error?

A symbol remains undefined when a symbol reference in a relocatable object is never matched to a symbol definition. Similarly, if a shared object is used to create a dynamic executable and leaves an unresolved symbol definition, an undefined symbol error results.


3 Answers

Update: This works for XCode Version 13.0 (13A233), too.

For XCode Version 12.0.1 (12A7300),

I just added libswiftWebKit.tbd to

Link Binary with Libraries (from project, Build Phases)

and the build was successful.

See image below: enter image description here

like image 138
Florent Avatar answered Oct 16 '22 17:10

Florent


Create an Empty Swift file using Xcode, such as named test.swift, and try to run again

like image 43
Anhdevit Avatar answered Oct 16 '22 19:10

Anhdevit


Go to Xcode, in the project name, right click and click on “New file…” Select Swift File and click on Next Select the project target and Finish In the next screen select “Create bridging Header” - Make sure to bridge.

Keep the swift file there for future in order to run the simulator.

like image 8
PavelPark Avatar answered Oct 16 '22 19:10

PavelPark