揭开静态库的神秘面纱之.a
2017-04-08 本文已影响0人
WeekDiffculty
制作.a静态库
拿MJExtension来做🌰
1. 新建库工程


2 删除其他文件,添加需要制作的文件

3 暴露头文件

4 选择真机器编译,生成真机的.a库

注意 ⚠️这样生成的静态库要么智能真机使用或者模拟器使用,要想通用需要合并:
cd /Users/bf/Library/Developer/Xcode/DerivedData/MJExtension-dhlcumzvhwglotfrwwdlxinfvpjz/Build/Products/
- 即进入到项目的 Products 目录下,可见目录下有两个文件夹

lipo lipo -create Debug-iphones/libMJExtension.a Debug-iphonesimulator/libMJExtension.a -output libMJExtension.a
合并两个.a 文件 生成新的,可见多出了一个.a 文件

使用时只用把生成的 .a 和头文件一并倒入就可以了
以为到这里就完了吗,并不如果库中使用到分类,需要另外处理

如果使用到其他依赖比如UIKit框架,需要在打包前在项目pfefix 文件里引入。 使用时,项目导入.a .h 资源文件。