Reputation: 5068
I am trying to add objective-c libraries to my Swift 3 project (Xcode 8 IDE). But objective c interface header is not getting generated automatically. I tried to add bridging header manually but showing linking error saying bridging header .h is not found. Any help would be appreciated :)
Upvotes: 48
Views: 42049
Reputation: 1318
Objective C Header file creation steps
File -> New -> File -> Header File
Name your Header file like this yourAppName-Bridging-Header
Now click on your Project -> Build Settings
Change from Basic to All
Search Bridging
You will get the search result as shown in the below image
after Adding
In that double click the right of Objective-C Bridging Header and enter as follows
eg, yourAppName/yourAppName-Bridging-Header.h
You need to import as follows
Happy Coding :)
Upvotes: 16
Reputation: 6051
Swift 5
Easy way
1--cmd+n
then select
2--Objective-C File (name your file it like this YourAppName-Bridging-Header)
if popup arrive for bridging header then select
3--YES
if not
//MARK:-click on your
4--Project->BuildSettings
//MARK:- in search
5--Bridging Header
6--Double click and paste bottom line and done
$(PROJECT_DIR)/$(PROJECT_NAME)/$(PROJECT_NAME)-Bridging-Header.h
Upvotes: 0
Reputation: 6261
It seems easiest to simply create a new Objective-C File and have Xcode take care of all the nitty gritty of setting up everything. Once that's done, you can delete the Objective-C file.
delete_me
or somethingdelete_me.m
)Upvotes: 2
Reputation: 5068
Here the solution for the issue.
Open finder and drag and drop your bridging header file to the popup. Now it will create an absolute path for bridging header. To make relating path, you can give the path as $(PROJECT_DIR)/$(PROJECT_NAME)/$(PROJECT_NAME)-Bridging-Header.h
Click outside for the value get saved. Done!! Now you can import your Objective-C libraries (eg. #import "SVProgressHUD.h") to bridging file and start using it in your swift project.
Hope this would be helpful to someone. :)
Upvotes: 163
Reputation: 375
In the case of multiple targets, make sure the swift classes are members of that target, or else the file will not be generated.
Xcode 8.3
Upvotes: 1