封装framework以及遇到的坑

framework静态库创建:


图片1

创建完后,这里我们需要把Mach-O type改为Static Library,因为制作的是一个静态库


图片2

把Build Settings -> Architectures -> Build Active Architecture Only  选择NO,Yes表示只编译选中模拟器设备对应的架构,No则为编译所有模拟器设备支持的cup架构(图略)


图片3

1是将来暴露在外边的头文件,如果想让2中的头文件暴露,可以选中点击右键,选择:Move to public group。到这里只需要将你要用的文件导入这里,把需要暴露的头文件暴露出来就OK了,然后编译,在Products下就出现了fromework,复制到工程中就行了。

添加支持模拟器:


图片4

中间可能遇到的坑:

1.编译出错,首先检查一下是不是用的模拟器,切换成真机试试。

2.如果在使用过程中,程序崩溃,说什么找不到方法,很可能是你用了Category,可以在你的目标工程中修改:

图片5

具体原因参考:https://www.jianshu.com/p/8bbb1c38d3ac

3.差点忘了最后一点,如果在目标工程中引用framework中的头文件,但是,发现头文件中引用有其他的头文件,这时候可能会报错,说找不到那个文件,这里说明一下:你所暴露的头文件中如果引用了其他文件,那么,所有在你暴露的头文件中引用的头文件都需要暴露,是不是很绕口。简单说,就是,你暴露的头文件中所有用到的头文件都要在framework中暴露,否则就会报错,所以,在这里建议,能不在头文件中引用其他文件的,就尽量写在.m吧。

最后,写的有点乱,只是自己的一个笔记,如有错误,欢迎指正

你可能感兴趣的:(封装framework以及遇到的坑)