iOS 混编

文章系列
《iOS 环境搭建》
《iOS 混编》
《iOS 组件化》
《iOS 全量组件化落地》

一、混编的方式

iOS混编有如下两种方式:

  • Swift调用ObjC
  • ObjC调用Swift

二、混编的场景

一般企业的iOS项目都是基于Cocoapods实现的组件化工程,混编的场景有如下三种:

  • 工程中
  • 组件内
  • 组件间

三、混编的具体实现

3.1 Swift调用ObjC

  • 工程中
    将ObjC的头文件导入到桥接头文件中

  • 组件内
    将ObjC的头文件导入到umbrella-header文件中(pod install后自动添加,无需任何处理)

  • 组件间
    import module

3.2 ObjC调用Swift

  • 工程中
    引入 Swift Module 的 ObjC Interface Header,默认是"ProjectName-Swift.h"

  • 组件内
    引入 Swift Module 的 ObjC Interface Header,默认是"ModuleName-Swift.h"

  • 组件间
    @import module;

注意:
Swift的类或者方法要暴露给ObjC使用,访问权限至少是public的,切需要添加@objc

你可能感兴趣的:(iOS 混编)