Reputation: 12650
I have followed this recipe in order to use a Swift class in an existing Objective-C project MyProject
. That works fine.
However, I'm still not able to use the same Swift class in the same project's unit tests. The compiler marks the line where my Objective-C unit test says #import "MyProjectTests-Swift.h"
with file not found
.
If tried changing the test target's Product Module Name
from its default MyProjectTests
to MyProject
as suggested in a comment to this (unanswered) question. However the compiler now marks the line where my Objective-C unit test says #import "MyProject-Swift.h"
with file not found
.
So how can one integrate Swift classes into (XCTest) unit tests that are written in Objective-C? Does Apple provide any recipe?
Upvotes: 16
Views: 7263
Reputation: 827
Go to your test target > Build Settings > Header Search Paths, and add $CONFIGURATION_TEMP_DIR/YourProject.build/DerivedSources
in it.
#import "YourProject-Swift.h"
Upvotes: 13
Reputation: 453
Go to test target > Build Settings > Header Search Paths, and add $CONFIGURATION_TEMP_DIR/MyProject.build/DerivedSources in it. For me worked only without checking Swift classes targeted for MyProjectTests. Source: https://medium.com/if-let-swift-programming/ios-tests-working-with-objective-c-and-swift-class-together-aaf40f91a27c
Upvotes: 1