在ModuleName-Swift.h

时间:2018-09-18 09:52:28

标签: ios objective-c swift xcode objective-c-swift-bridge

由于一个约束库,我需要在我的Swift项目中使用Objective-C文件。
因此,我在.m文件中添加了导入模块-Swift.h。
它找到它没有任何问题。
问题来自自动生成的模块“ Swift.h”文件。
我有很多错误,主要是来自Pods的类和协议。
Image

Image

Image

是否有任何配置可解决此问题?

2 个答案:

答案 0 :(得分:2)

如果要在swift项目中使用Objective C文件,请桥接Objective文件。

1)创建一个新的头文件,并将其命名为“您的项目名称-Bridging-Header.h”。该文件必须保存到您的项目文件夹中

2)选择您的xcode项目->选择构建目标->选择构建设置->单击顶部的“所有”选项->搜索Swift编译器-常规

3)选择 Objective-C桥接标题,并将路径指定为 $(PROJECT_DIR)/ $(PROJECT_NAME)/ $(PROJECT_NAME)-Bridging-Header.h

4)最后将目标文件添加到头文件中。

答案 1 :(得分:1)

感谢Kavitha Madhu,我找到了解决方案!

对于遇到相同问题的人:

如果要在Objective-C代码中使用Swift类和函数。
但是,您中的某些Swift函数使用Pods协议和委托。
您需要在Objective-C代码中添加包含这些协议和委托的pod标头的导入。

例如,如果您的模块-Swift.h 找不到“ SlideNavigationControllerDelegate” ,则需要添加到Objective-C 文件中(该文件使用“模块-Swift.h“)行:
#import <iOS_Slide_Menu/SlideNavigationController.h>