OC与Swift实现framework内混编
原文中文,约1100字,阅读约需3分钟。
📝
内容提要
这篇文章介绍了OC和Swift在framework内的混编实现方法。需要注意的地方有:将外部调用的OC头文件移动到public栏,并加入到Compile Source中;在framework内无法使用bridging-header文件,需要使用module.modulemap文件和umbrella header来完成Swift调用OC的功能;想要OC调用Swift,需要在Swift类上加上@objc和public修饰,并在OC文件中导入项目名-Swift.h文件。
❓
Q&A
如何在OC和Swift的framework中实现混编?
需要将外部调用的OC头文件移动到public栏,并加入到Compile Source中,同时使用module.modulemap文件和umbrella header来实现Swift调用OC。
在framework中如何处理OC头文件?
OC头文件需移动到public栏,并在项目名.h文件中使用#import导入,同时新建一个.h文件以导入所有OC头文件。
Swift调用OC时需要注意哪些事项?
在framework中无法使用bridging-header文件,需使用module.modulemap文件和umbrella header来实现调用。
OC如何调用Swift类?
Swift类必须加上@objc和public修饰,并在OC文件中导入项目名-Swift.h文件。
如何解决-Swift.h文件的导入问题?
可以通过复制编译输出的-Swift.h文件到源代码目录来解决导入问题。
module.modulemap文件的作用是什么?
module.modulemap文件用于定义模块,使得Swift能够调用OC头文件,特别是在无法使用bridging-header的情况下。
🏷️