Swift Bridging Header and visibility of Obj-C class

前端 未结 2 2011
天涯浪人
天涯浪人 2021-01-12 14:47

I\'ve aded bridging header, specified in build settings the full path to it, bridging header was created automatically. After this, i\'ve included my obj-c header files in i

相关标签:
2条回答
  • 2021-01-12 14:57

    Well, after creating a test project with bridging header, I found out the following:

    1. I added .m file, Xcode proposed me to create bridging header.

    2. I added .h file, named it as class and created Obj-C class in this way.

    AND:

    In build settings - code generation section looks like this:

    enter image description here

    Bridging file located at the following path:

    ProjName / BridgHeader.h

    At the same level as .xcodeproj file exists.

    BUT:

    When I added already created Obj-C class to project and added header import in bridging header, I couldn't use it:

    enter image description here

    So, I guess, Xcode 6 beta 2 cannot add existing files to swift project. Did anyone face this trouble? Cause I don't want to paste all existing libraries, that I was developing for 5 years to created files.

    P.S:

    Bridging header:

    enter image description here

    0 讨论(0)
  • 2021-01-12 15:06

    Follow these steps:

    1. Create a Swift project
    2. Add a test class as Cocoa Class instead of .m and .h separately. Xcode prompt add bridging header.
    3. Import test class header in bridging header, which you already did. Should have no issue instantiate test class in Swift.
    4. Copy BL_KeyChainWrapper .m and .h to project directory in finder.
    5. Drag BL_KeyChainWrapper files to project and make sure Add to Targets.
    6. Import BL_KeyChainWrapper header in bridging header.
    7. Instantiate BL_KeyChainWrapper class in Swift.

    If followed the above steps, and still have the error. It is probably that you didn't declare a class named BL_KeyChainWrapper in BL_KeyChainWrapper.h. Make sure in your BL_KeyChainWrapper.h, you have code like following:

    @interface BL_KeyChainWrapper : BaseClass
    
    0 讨论(0)
提交回复
热议问题