序言:OC调用Swift时,不用显式地新建桥接文件,那是因为系统会在编译期自动生成桥接文件,我们只要按规则调用即可索引到想要的Swift类。这个规则就是:桥接文件的文件名为:ModuleName-Swift.h(ModuleName是模块名称,其中如果模块是应用程序就是target名称,而不是project名称,模块是框架就是框架名称)。
问题:有时即使我们按照上面的规则书写import代码,依然会提示"XXX-Swift.h" file not found问题,这时多半是因为模块名称问题。
解决方法:检查一下模块名称是否含有空格、是否含有连接符"-",如果有上面两种情况就需要在桥接文件名称中把空格及连接符"-"替换成下划线"_",这样问题就可以解决了。
案例:
1. 模块名称为My Project,桥接文件名为My_Project-Swift.h,而不是My Project-Swift.h。
2. 模块名称为My-Project,桥接文件名为My_Project-Swift.h,而不是My-Project-Swift.h。
网友评论