在对象C模块中导入Swift模块



我有一个xcworkspace,里面有两个xcode项目(一个是实现所有基本功能的静态库,另一个是使用第一个类的演示项目(-到目前为止,所有代码都是用Objective C编写的。我想要实现的是在静态库中创建一个Swift类,然后从"demo"xcodeproj中的Objective C类访问它。

我已经创建了这个"Test.swift"类和一个自动创建的桥接头(在Build设置中将DefineModule属性更改为YES(,一切都很好——我可以从同一项目中的Obj C类访问它。接下来,我将创建一个新的";DemoTest.swift";"demo"项目中的Swift类,并对Test.Swift进行子类化(有效(。然而,当试图从"demo"项目中的Objective C文件访问此类时,编译器无法识别我的";基本";模块-

In file included from 
xxxxx/AppDelegate.m:26:
xxxxx/mpdemo-Swift.h:189:9: fatal error: module 'mpbba' not found
@import mpbba;
~~~~~~~^~~~~
1 error generated.

我的问题是如何将Swift代码导入另一个Objective C模块?

以下是要做的操作:

  1. 配置Objective-C桥接头
  2. 点击你的Xcode项目文件
  3. 单击生成设置
  4. 找到搜索栏并搜索定义模块
  5. 将该值更改为"是">
  6. 搜索产品模块名称
  7. 将值更改为项目的名称
  8. 在类中,添加以下内容:#import"YourProjectName Swift.h">

希望这能奏效。如果你还需要什么,请告诉我。

最新更新