Objective-C Bridging Header not getting created with Xcode 8

前端 未结 5 1743
陌清茗
陌清茗 2020-12-04 23:55

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 bridgin

相关标签:
5条回答
  • 2020-12-05 00:01

    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

    0 讨论(0)
  • 2020-12-05 00:03

    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.

    1. Right Click in the project explorer and choose new file
    2. Selected Objective-C File
    3. Name it delete_me or something
    4. You'll get prompted to have a bridging file created and say yes
    5. Delete the file you created (perhaps delete_me.m)
    0 讨论(0)
  • 2020-12-05 00:15

    Here the solution for the issue.

    • Create a new header file and name it like "your project name-Bridging-Header.h". The file must be saved to your project folder
    • Select your xcode project -> select your build target -> select build settings -> click the "all" option at the top -> search for Swift Compiler - General
    • Select Objective-C Bridging Header item and double click on its value field (right side of the same row). One popup would appear and there you can enter your bridging header file path (Follow the below steps to provide header file path).
    • 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. :)

    0 讨论(0)
  • 2020-12-05 00:20

    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
    
    0 讨论(0)
  • 2020-12-05 00:23

    Objective C Header file creation steps

    1. File -> New -> File -> Header File

    2. Name your Header file like this yourAppName-Bridging-Header

    3. Now click on your Project -> Build Settings

    4. Change from Basic to All

    5. Search Bridging

    6. You will get the search result as shown in the below image

    after Adding

    1. In that double click the right of Objective-C Bridging Header and enter as follows

      eg, yourAppName/yourAppName-Bridging-Header.h

    2. You need to import as follows

    1. Thats All

    Happy Coding :)

    Note:
    The header file should be directly inside project, ie. it should not be created inside any subfolder

    0 讨论(0)
提交回复
热议问题