35

I need to make swift static library for my requirement. I made swift static library which uses swift and Obj-c code. I have included Obj-c files via bridge file. I am able to compile swift static library without any error and get libMySwift.a file. I use Xcode9.3 with Swift4 to compile library.

I include libMySwift.a in obj-c project and also included obj-c compatible header to access my lib in the project. When I try to compile the project it give below warning and more than 200 errors.

Auto-Linking library not found for -lswiftSwiftOnoneSupport
Auto-Linking library not found for -lswiftCore
Auto-Linking library not found for -lswiftQuartzCore
Auto-Linking library not found for -lswiftCoreImage
Auto-Linking library not found for -lswiftCoreGraphics
Auto-Linking library not found for -lswiftObjectiveC
Auto-Linking library not found for -lswiftDispatch
Auto-Linking library not found for -lswiftMetal
Auto-Linking library not found for -lswiftFoundation
Auto-Linking library not found for -lswiftUIKit
Auto-Linking library not found for -lswiftDarwin
Auto-Linking library not found for -lswiftCoreFoundation

Please let me know if I am missing any steps or need to add anything.

2
  • This can resolve your problem, It describes how to fix in details stackoverflow.com/a/54586937/1627358 Commented Feb 8, 2019 at 6:17
  • @HussamKurd: There's another answer there (with a lot more upvotes) that worked for me. Commented Jul 7, 2019 at 6:00

6 Answers 6

68

I've got the same error on my demo project when added first Swift file in my pod compiled as static library. For me solution was simple - just added empty Swift file to my demo project which was previously in Objective-C only. This solved all linker errors.

Sign up to request clarification or add additional context in comments.

3 Comments

by creating Objective-C bridging Header is resolved the issue.
Sweet. Kind of elegant solution. Xcode shows as warnings not errors. This solution fixed warnings and all erros caused by warnings.
I did this and still get the same error. Trying to ad adMob. Could not find auto-linked framework 'FBLPromises'
68

An update to Alex's answer:

In my case it was a React-Native project after adding a Swift Pods library. Maybe just the step 2 can work:

  1. Adding a new Swift file and a Brigde header:

1) File -> New -> File <code>File -> New -> File</code>

2) Select Swift File Select <code>Swift File</code>

3) Confirm Create Bridging Header enter image description here

  1. Go to Build Settings and set Always Embed Swift Standard Libraries to YES Always Embed Swift Standard Libraries

8 Comments

but the issue still present if you remove that swift file later :/
Thank you so much, it solved my issue. By the way, I'm trying to build using react-native.
I've been spending two days trying to fix this issue and you saved me!
why i cant see Confirm Create Bridging Header dialog?
@TuanNguyen just create an empty header file by yourself. In the same directory and targets as your empty swift file. It worked for me.
|
0

This answer worked for me: Add $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) to the library search paths.

Comments

0
  1. Right click on your project name and select new file
  2. Create an empty "Swift File" called File.Swift
  3. It will prompt to create a bridge header file then click create

Comments

0

If create empty "Swift File" errors

This method may be useful, can try : https://blog.cpming.top/p/react-native-0-62-undefined-symbol

Comments

0

I just follow AlVelig steps and still can't build the app, after making some hours on it finally works for me: in Build, Setting -> Build Active Architecture Only -> Select yes for Release too (it was No)

Build Active Architecture Only:

enter image description here

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.