I try to integrate Swift code in my app.My app is written in Objective-C and I added a Swift class. I’ve done everything described here. But my problem is that Xcode haven’t created the -Swift.h file, only the bridging headers. So I created it, but it’s actually empty.
I can use all my ObjC classes in Swift, but I can’t do it vice versa. I marked my swift class with @objc but it didn’t help. What can I do now?

EDIT: Apple says:” When you import Swift code into Objective-C, you rely on an Xcode-generated header file to expose those files to Objective-C. […] The name of this header is your product module name followed by adding “-Swift.h”. “

Now when I want to import that File, it gives an error:

    //MainMenu.m

    #import "myProjectModule-Swift.h" //Error: 'myProjectModule-Swift.h' file not found

    @implementation MainMenu

Here is my FBManager.swift file:

@objc class FBManager: NSObject {

    var descr = "FBManager class"

    init() {
        super.init()
    }

    func desc(){
        println(descr)
    }

    func getSharedGameState() -> GameState{
        return GameState.sharedGameState() //OK! GameState is written in Objective-C and no error here
    }
}

26 Answers
26

Leave a Reply

Your email address will not be published. Required fields are marked *