1.swift不支持.a的静态库,因此只能制作.framework的静态库
同oc类似,framework需要设置 mach-o 为 static library
2.静态库的使用
同oc一样,加入静态库,需要设置好静态库相关的path,然后在需要使用的地方 import xx.framework,然后就可以使用了
3.纯swift静态库的制作
将需要开放的接口和类设置成public header不需要设置,xcode会自动生成头文件 同oc一样,将写好的代码编译成不同的架构,并合成一个包,同时需要合并.swiftmodule里面的文件
4.纯swift静态库中包含静态库
目标静态库A,引入静态库B 其实A中使用B的方式和普通工程使用静态库的方式一致
5.swift和oc混合的静态库的制作
制作方法同3,4类似,但是swift使用的oc类需要导入到静态库自动生成的.h中,且其.h文件需要放入header中。 oc中使用swift时需要在oc中xcode自动生成的xxx-swift.h,同时swift中能被oc使用的类或者方法,需要前置声明@objc
在使用的时候需要注意一个问题
❌错误
dylib: Library not loaded: @rpath xx.framework/xx
...
...
Reason: image not found
解决办法
此处需要导入 General -> Embedded Binnaries xx.framework
参考链接 Swift&Objective-c 混合制作Framework详解