iOS静态库的制作
总结一下静态库制作的过程:
1.新建一个项目用于制作静态库,如test
2.File-->new-->Target
![](https://img.haomeiwen.com/i937405/d58e0ab9146a796e.png)
![](https://img.haomeiwen.com/i937405/68df730627ed6935.png)
取个名字,我这里用我写的一个加载指示器做成静态库,我取名FGGProgressHUD,然后finish。
![](https://img.haomeiwen.com/i937405/8849217da38ac73a.png)
3.删除系统自动生成的两个文件,静态库名.h 静态库名.m
![](https://img.haomeiwen.com/i937405/b41d23521fe6b1f9.png)
选择Move to trash
![](https://img.haomeiwen.com/i937405/90f5a097b73401c3.png)
4.将需要制作成静态库的文件拖入到FGGProgressHUD文件夹下,这里我选择的是自己写的一个小工具:
![](https://img.haomeiwen.com/i937405/91db78d5046c7b74.png)
拖进来之后,target选择FGGProgressHUD:
![](https://img.haomeiwen.com/i937405/6659b9cfdf6aeb1a.png)
5.选中FGGProgressHUD:
![](https://img.haomeiwen.com/i937405/d1cec521bc1ac099.png)
![](https://img.haomeiwen.com/i937405/0cd7575d51476202.png)
![](https://img.haomeiwen.com/i937405/5dd5646ed2d0295d.png)
6.选择iOS Device,Build(Command+B):
![](https://img.haomeiwen.com/i937405/77ecb035148a3f86.png)
7.随便选择一个模拟器,Build(Command+B):
![](https://img.haomeiwen.com/i937405/f45c7b24c18dbb60.png)
8.右键点击LibFGGProgressHUD静态库,选择show in finder:
![](https://img.haomeiwen.com/i937405/8ffc45dd5f195133.png)
看到有两个文件夹Release-iPhone和Release-iPhonesimulator,这两个文件都有一个LibFGGProgressHUD.a文件:
![](https://img.haomeiwen.com/i937405/3991f04b020a8945.png)
![](https://img.haomeiwen.com/i937405/2107e06675e71a86.png)
现在我们得到了两静态库,他们分别是真机环境下的和模拟器环境下的,要得到适配所有环境的还需要做合并处理。
9.合并真机环境下的静态库和模拟器环境下的静态库:
打开终端输入命令lipo -create +空格,然后把刚刚那两个.a文件分别拖进来,中间以空格键隔开,然后接-output 输出路径,然后回车,得到适配真机和模拟器的静态库文件:
![](https://img.haomeiwen.com/i937405/0f2561ed71e5cb74.png)
![](https://img.haomeiwen.com/i937405/ff1eda9a2b564cfd.png)
10.至此静态库制作完毕,下面来测试下制作出来的静态库能否正常使用。
新建一个项目,叫做testLib,拖入静态库FGGProgressHUD.a,和FGGProgressHUD.h,注意头文件不能掉的,.a文件里包含了.m的二进制文件。
![](https://img.haomeiwen.com/i937405/d1459fcb311f655b.png)
在ViewController中导入FGGProgressHUD.h来用一下:
![](https://img.haomeiwen.com/i937405/0e6c6058cda43515.png)
先选择模拟器运行下,效果如下:
![](https://img.haomeiwen.com/i937405/b1e67a4484a3ce64.png)
在选择真机,运行下
![](https://img.haomeiwen.com/i937405/32a238416f0b7176.jpg)
至此,静态库的制作教程至此总结完毕。