1.新建一个工程:(iOS ->framework & Library -> Cocoa Touch Framework)
2.设置支持的版本号
3.设置为静态库(Targets -> Build settings -> linking ->Mach-O Type ->Static Library)
4.引入需要打包的文件
5.在工程自动生成的framework中的.h文件中#import自己需要打包的文件的.h文件
6.在Build Phases的Header中选择要向外公开的.h(注:public-向外公开的,project:不公开的,private- 一般不用管)
7.设置CPU架构(No为不是当前特定的,通用;Yes-为当前特定的;一般选择No通用)
8.点击Edit Scheme
1.选择Debug->选用模拟器commond + B 编译一下
2.选择Release->选用真机commond + B 编译一下
- Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。
- 而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。
10.window->organizer ->点击delete前面的那个小小的箭头
11.我们查看文件,已经得到一个真机调试的framework 和一个模拟器的framework。
新建工程,根据真机调试或者是模拟器,选择对应的framework导入新建工程。就ok了。
12.我们将真机调试的framework和模拟器的framework打包成一个可以同时供真机和模拟器使用的。
1打开终端:cd到Products目录下,输入 lipo -create 真机framework静态库白色文件的路径 模拟器framework静态库白色文件的路径 -output 通用静态库,products目录下就会出现一个名为通用静态库的小白文件(就是小白1)
2.将此小白文件copy替换到真机或者模拟器framework下的小白文件(将小白1替换小白2)
3.对应的framework就可以通用真机和模拟器了。
注意:如果打的静态库里面有xib文件的话,使用静态库的工程里面如果报如下错误,那么在build settings-other linker flags 里面加上 -ObjC
Unknown class SNView in Interface Builder file.
2019-04-01 09:08:44.469784+0800 testStaticLibrary[800:13224] -[UIView click:]: unrecognized selector sent to instance 0x7f9b20e128e0