我有一个项目使用Swift生成的Bridging Header并正确设置项目(Names中没有空格,使用模块,在我的.mm文件中预先声明Swift类,删除派生数据,做一个干净的重建等...)。 Bridging Header生成正常,但自动生成的-Swift.h中有错误。更糟糕的是,这些错误发生在AppDelegate和ViewController的生成(在项目创建 - Swift)版本中,这些版本通常可以正常编译。 -Swift.h中的错误是:
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@interface ViewController : UIViewController
我已经搜索了Stack Overflow和网络,无法找到解决此特定问题的任何答案。还有其他人有这个吗?或者,有没有办法可以标记我的AppDelegate和ViewController类,因此Xcode 不会尝试为那些Swift类创建Objective-C存根,因为我实际上并不需要它们?
答案 0 :(得分:9)
添加
#import <UIKit/UIKit.h>
前
#import <YourProject-Swift.h>
<。>在.mm文件中。对我来说它有所帮助。
答案 1 :(得分:7)
我有同样的问题并发现了......
-Swift.h最适合使用Objective-C,而不是Objective-C ++(。mm)
所以我使用Objective-C类连接Swift类。您也可以随时在Objective-C类中加载Objective-C ++类。
答案 2 :(得分:1)
尝试将UIKit / UIKit.h导入桥接头文件。