Xcode7制作framework静态库

1.新建一个工程:(iOS ->framework & Library -> Cocoa Touch Framework)
Xcode7制作framework静态库_第1张图片
1.png
2.设置支持的版本号
Xcode7制作framework静态库_第2张图片
2.png
3.设置为静态库(Targets -> Build settings -> linking ->Mach-O Type ->Static Library)
Xcode7制作framework静态库_第3张图片
3.png
4.引入需要打包的文件
Xcode7制作framework静态库_第4张图片
4.png
5.在工程自动生成的framework中的.h文件中#import自己需要打包的文件的.h文件
Xcode7制作framework静态库_第5张图片
5.png
6.在Build Phases的Header中选择要向外公开的.h(注:public-向外公开的,project:不公开的,private- 一般不用管)
Xcode7制作framework静态库_第6张图片
6.png
7.设置CPU架构(No为不是当前特定的,通用;Yes-为当前特定的;一般选择No通用)
Xcode7制作framework静态库_第7张图片
7.png
8.点击Edit Scheme

1.选择Debug->选用模拟器commond + B 编译一下
2.选择Release->选用真机commond + B 编译一下

  • Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。
  • 而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。
Xcode7制作framework静态库_第8张图片
8.png
Xcode7制作framework静态库_第9张图片
9.png
10.window->organizer ->点击delete前面的那个小小的箭头
Xcode7制作framework静态库_第10张图片
屏幕快照 2016-04-28 下午3.16.29.png
Xcode7制作framework静态库_第11张图片
屏幕快照 2016-04-28 下午3.16.45.png
11.我们查看文件,已经得到一个真机调试的framework 和一个模拟器的framework。

新建工程,根据真机调试或者是模拟器,选择对应的framework导入新建工程。就ok了。


Xcode7制作framework静态库_第12张图片
屏幕快照 2016-04-28 下午3.20.53.png
12.我们将真机调试的framework和模拟器的framework打包成一个可以同时供真机和模拟器使用的。

1打开终端:cd到Products目录下,输入 lipo -create 真机framework静态库白色文件的路径 模拟器framework静态库白色文件的路径 -output 通用静态库,products目录下就会出现一个名为通用静态库的小白文件(就是小白1)
2.将此小白文件copy替换到真机或者模拟器framework下的小白文件(将小白1替换小白2)
3.对应的framework就可以通用真机和模拟器了。

Xcode7制作framework静态库_第13张图片
12.png

注意:如果打的静态库里面有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

你可能感兴趣的:(Xcode7制作framework静态库)