iosobjective-cxcodeswiftxcode6

Importing Project-Swift.h into a Objective-C class...file not found


I have a project that was started in Objective-C, and I am trying to import some Swift code into the same class files that I have previously written Objective-C in.

I have consulted the Apple docs on using Swift and Objective-C in the same project, as well as SO question like this, but still no avail: I continue to get the file not found error after putting in #import "NewTestApp-Swift.h" (NewTestApp is the name of the Product and module).

Here is what I have done so far:

  1. In Define Modules, selected YES for the app.
  2. Ensured that the Product Module name did not have any space in it (see screenshot below question)

I have tried using #import "NewTestApp-Swift.h" inside ViewController.m, ViewController.h and AppDelegate.m but none of them has worked.

What else am I doing incorrectly? Thanks for your help.


Screenshot of settings:

enter image description here


Errors that I am presently encountering:

enter image description here


Solution

  • I was running into the same issue and couldn't get my project to import Swift into Objective-C classes. Using Xcode 6, (should work for Xcode 6+) and was able to do it in this way:

    1. Any class that you need to access in the .h file needs to be a forward declaration like this:
    @class MySwiftClass;
    
    1. In the .m file ONLY, if the code is in the same project (module) then you need to import it with:
    #import "ProductModuleName-Swift.h"
    

    Link to the Apple documentation about it.