swift静态库的实现

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详解

 

转载于:https://my.oschina.net/u/3697347/blog/3072031

你可能感兴趣的:(swift静态库的实现)