Find Swift Classes from Objective-C Tests

When you write a Swift type, you should prefer to write its tests in Swift, too.

In a mixed-language code base, you will run into the situation where your Objective-C tests need to reference Swift types to initialize and pass to the object under test. That's a different story.

But you cannot import the generated -Swift.h out-of-the-box:

#import "MyProject-Swift.h"

Problem is, this generated code doesn't reside in the project directory, but in the build directory. More specifically, it resides in


Once you add this line (and replace "MyProject" with the appropriate name) to your unit test target's Build Settings > Header Search Paths, importing your app's generated Swift header file will work.

Let's hope neither you nor I will ever forget how this works again.

Browse the blog archive