导入ProjectName-Swift.h和Bridging-Header.h递归

时间:2016-11-29 18:50:17

标签: ios

我有一个项目,里面有大量的obj-c和swift代码。

我有一个obj-c类导入ProjectName-Swift.h,让该类访问swift代码。

现在我需要将该obj-c类暴露给swift,以便我可以从swift代码中访问它。

问题是在导入后,在obj-c类项目的桥接头名称停止构建时出现错误,它无法找到ProjectName-Swift.h,其导入在obj-c类中声明。

我无法从obj-c类中删除ProjectName-Swift.h的导入,因为在该类中断之后。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

好的,有一个答案,然后重新阅读问题。绝对确定您对swift标头的导入是项目的模块名称(不一定是项目名称):

Apple Documentation: Swift and Objective-C in the Same Project

更具体地说,请转到标记为“将Swift导入Objective-C”的部分并阅读它。甚至更具体地说:

  1. 在“构建设置”下的“打包”中,确保该框架目标的“定义模块”设置设置为“是”。

  2. 使用此语法将该框架目标中的Swift代码导入该框架目标中的任何Objective-C .m文件并替换相应的名称:

    #import <ProductName/ProductModuleName-Swift.h>