虽然swift的版本飙的很快,但在iOS端项目中,还是会需要C/C++的库来帮助开发,这时会用Objective-C来包一层。这里记录一下混编的过程.
swift调用oc
将Objective-C导入Swift要在同一个app target中导入Objective-C文件供Swift使用,你需要依赖Objective-C的桥接头文件(Objective-C bridging header)来暴露给Swift。当你添加Swift文件到现有的Objective-C应用时,Xcode会自动创建这些头文件,反之亦然。
在Build Settings中,确保Objective-C桥接头文件的build setting是基于 Swift编译器,即Code Generation含有头文件的路径。这个路径必须是头文件自身的路径,而不是它所在的目录。然后在桥接头文件中,加入oc的头文件,在swift中即可引用oc的类.
对于C/C++的文件,处理方式和Objective-C一样.
oc调用swift
确保将框架target的Build Settings > Packaging > Defines Module设置为Yes;在修改build setting中的Product Module Name即可。之后的项目会自动生成swift的头文件,头文件名称为Product Module Name-Swift.h所有的swift都会在这个头文件里