在 Objective-C 测试中测试 Swift 的问题

问题描述

我正在测试 myObjcclass,它使用前向声明来获取我正在使用的 Swift 类,我这样做是因为如果我在 {{ 1}} 文件。在前向声明中,我的桥接头导入 (.h) 位于 -Swift.h 文件中。当我尝试测试这个时,我能够测试我的 Swift 类,但不能测试从它继承的类。我曾尝试在测试中添加 #import .m,但会收到错误 "MyProject-Swift.h"

file not found

我该如何解决这个问题?我只想测试我在 Objective-C 代码中使用的 Swift 类。

我已经尝试制作一个新的桥接头并将主要目标导入到新的测试目标桥接头中,这会给我另一个“无法发出预编译标头”我也尝试将测试目标桥接头设置为主要目标桥接标题

解决方法

问题是-Swift.h桥接头文件自动生成到DerivedSources目录下,不在其他目标的头搜索路径中。

因此,您需要添加它:

  • 打开测试目标设置
  • 导航到构建设置 -> 搜索路径 -> 标题搜索路径
  • 添加值 $CONFIGURATION_TEMP_DIR/Your-project-name.build/DerivedSources

Header Search Path example

现在导入(和所有内容)应该可以工作了: Test outcome

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...