我已遵循this配方,以便在现有的Objective-C项目MyProject
中使用Swift类。这很好。
但是,我仍然无法在同一个项目的单元测试中使用相同的Swift类。编译器标记我的Objective-C单元测试用#import "MyProjectTests-Swift.h"
表示file not found
的行。
如果尝试将测试目标的Product Module Name
从其默认MyProjectTests
更改为MyProject
,请参阅this(未答复)问题的评论中的建议。但是,编译器现在标记了我的Objective-C单元测试用#import "MyProject-Swift.h"
表示file not found
的行。
那么如何将Swift类集成到用Objective-C编写的(XCTest)单元测试中呢? Apple会提供任何食谱吗?
答案 0 :(得分:16)
根据@ SushiGrassJacob的评论(见here),以下内容解决了这个问题:
MyProject
和MyProjectTest
。答案 1 :(得分:2)
转到测试目标>构建设置>标头搜索路径,然后在其中添加$CONFIGURATION_TEMP_DIR/YourProject.build/DerivedSources
。
#import "YourProject-Swift.h"
答案 2 :(得分:0)
转到测试目标>构建设置>标题搜索路径,并在其中添加$ CONFIGURATION_TEMP_DIR / MyProject.build / DerivedSources。对我来说,只是在没有检查针对MyProjectTests的Swift类的情况下工作。资料来源:https://medium.com/if-let-swift-programming/ios-tests-working-with-objective-c-and-swift-class-together-aaf40f91a27c