由于一个约束库,我需要在我的Swift项目中使用Objective-C文件。
因此,我在.m文件中添加了导入模块-Swift.h。
它找到它没有任何问题。
问题来自自动生成的模块“ Swift.h”文件。
我有很多错误,主要是来自Pods的类和协议。
是否有任何配置可解决此问题?
答案 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>