在我们接触iOS的时候,我们就知道,在编写程序的时候,我们会遇到开源库和一些闭源库。今天就让我们一起讨论一下闭源库的实现。
在iOS中实现库的操作有这么几种方式,制作.a、.framework库。在使用这些库的时候,我们只会看到它所声明的文件,即.h文件。.m文件被转换成二进制代码封存在模块里面。这样就有效的保证了系统的安全性能,也保护了自己的代码不被泄漏。
动态库和静态库的区别:
静态库:在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。以.a和.framework为文件作为后缀。
动态库:在程序编译时并不会连接到目标代码中,而是在程序运行时才被载入,因此在程序运行的时候还需要动态库存在。以.tbd(之前叫.dylib)和.framework为文件作为后缀。
制作通用文件:
-
1
.
`cd`
文件 (任选一个framework的路径,生成执行文件)
-
2
.生成命令行
.framework:
lipo -create Release/Debug版本下的支持模拟器的.
framework
静态库路径 Release/Debug版本下支持真机调试下的.
framework
文件路径 -output 文件名.
framework
.a:
lipo -create Release/Debug版本下的支持模拟器的.a静态库路径 Release/Debug版本下支持真机调试下的.a文件路径 -output 文件名.a
-
3
.生成一个支持Release/Debug版本下支持模拟器和真机的.a静态库/
.framework库