静态库使用场景
-
目前我的应用场景,项目由我们开发,但是客户需要自己拿项目去上架,但是我们又不想客户看到源码,所有有了把项目打成静态库的想法
-
还有一些三方库,不想开源的,也是采用的静态库方式
玩之前请先做好备份
一、首先创建一个静态库项目

创建好的静态库项目

二、迁移原项目中的除了资源文件和pods库的所有文件到静态库项目中
*
用pods管理的库,在静态库项目中同样用pods来管理这些库
*
手动添加的库需要在静态库项目中手动导入一遍
在静态库中用pods导入库时,注意与原项目导入的库版本要一致
如何查看原项目pods三方库版本?
- 找到Podfile.lock文件
- 将Podfile.lock 改成Podfile.txt 就可以查看版本号
1.把pods库导入后,我们的静态库项目长这样了

2.原项目需要迁移的文件如下图

- 将文件导入静态库项目并移除多余文件

- 原项目如果有pch配置文件,在静态库项目中同样需要配置
5.设置静态库支持版本和设备

6.设置抛给外部调用的文件

7.command + B 编译成功后获取静态库和外部调用文件
真机环境和模拟器环境都可以各编译一份,再合并一个在真机和模拟器都可以用的静态库
这里只弄模拟器的,合并那个可以自己玩


- 将静态库导入原项目,删掉多余的东西,再运行看看效果

- 需要注意的是这些文件默认不会编译到静态库中
- 资源文件是不会打到静态库
Example:.xib文件、图片资源文件、.plist文件
感谢各位看官耐心看完
网友评论