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的情况下。

🏷️

标签

➡️

继续阅读