用Objective-C(测试)代码导入框架的Swift类

时间:2018-11-27 21:06:37

标签: objective-c swift xcode xctest

我正在尝试在单元测试代码中从框架MyFramework导入Swift类:

在我的 Objective-C测试文件中,我做

@import MyFramework;

此行导致编译错误:

Include of non-modular header inside framework module 'MyFramework': 'src/core-ios/MyFramework/Classes/MyFramework-Bridging-Header.h'

在“ MyFramework-Swift.h”文件中。在该文件中,我可以看到从

导入的内容
#import "src/core-ios/MyFramework/Classes/MyFramework-Bridging-Header.h"

我不确定该怎么办。我的框架“定义”了模块化头文件,但是听起来像问题在于桥接头文件包含在其整个路径中,而不仅仅是执行#import <MyFramework/MyFramework-Bridging-Header.h>

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

在目标c中调用swift类

  1. 在Bridging-Header中,添加 #import“ myClass.h” 。这是客观的C类 您正在使用swift类的地方。
  2. 在myClass.m中添加 #import
  3. 在myClass.h或myClass.m中添加“ @swiftcalss;”

    第一点或第二点可能会导致您出错。