做iOS开发的同学们都知道,我们在开发的过程中经常用到一些第三方的库,我们可以调用,但是看不见他们的源码。
有时我们不想别人看见我们的源码,也需要生成静态库,那怎么生成呢?
首先,我们要创建一个CoCoa Touch Static Library工程
![](https://img.haomeiwen.com/i228486/9711d15d90dc892a.png)
这样我们就会得到一个.h和.m文件,我在.h文件声明两个方法(加密,解密),还要在.m文件写它们的实现方法。
![](https://img.haomeiwen.com/i228486/0b1387a58eb4b5fb.png)
这样我们就可以进行编译了 (记得用模拟器和真机分别编译一次)
快捷键:command+B
两次编译之后,找到StaticLibrary.a所在目录
![](https://img.haomeiwen.com/i228486/4ba56fba767e4212.png)
在它的上一级目录中我们可以看见Debug-iphoneos
和Debug-iphonesimulator
两个文件,如图:
如果你的工程是release模式,文件名为:Release-iphoneos
和Release-iphonesimulator
![](https://img.haomeiwen.com/i228486/8ce97b63ad6d03f3.png)
Debug-iphoneos:应用于真机的静态库文件。
Debug-iphonesimulator:应用于模拟器调试的静态库文件。
我们可以通过lipo -info
命令来查看这个.a文件的属性。
![](https://img.haomeiwen.com/i228486/a3618140d6f3ac6d.png)
现在我们就可以用了 ,但是现在模拟器和真机编译的.a文件是分开的,我们在不同的环境上使用.a文件,需要导入不同的.a文件,比较麻烦,我们可以把它们进行合并成一个文件来使用。(只是体积会变大)
合并命令:lipo -create
/路径/Debug-iphoneos/libStaticLibrary.a /路径/Debug-iphonesimulator/libStaticLibrary.a -output
/Users/。。。。/Desktop/libStaticLibraryFile.a
![](https://img.haomeiwen.com/i228486/6a685bf993d5fe83.png)
合成完成了,就可以使用了。
把.h文件和合成的.a文件放入你的工程中测试一下吧~
![](https://img.haomeiwen.com/i228486/ce2753dc4eab17fd.png)
娱乐一下:
![](https://img.haomeiwen.com/i228486/e6a6fb6a5e67ee68.png)
网友评论