一、framework的制作
.framework的静态库制作和.a静态库的制作有三个不同的地方,其他基本一致。
-
1、创建工程时应该选择Cocoa Touch Framework
屏幕快照 2018-01-29 下午9.46.43.png
- 2、暴露头文件的方式设置不同

-
3、编译之前要更改编译环境为静态库。否则编译出来的是动态库,使用动态库苹果是不允许上架的。
屏幕快照 2018-01-29 下午9.59.50.png
二、其他
1.Xcode默认编译生成的framework是动态库Mach-O Type :Dynamic Libray.
将制作的framework导入工程使用编译下崩溃报如下错

出现这种原因是因为XCode6之后创建的framework默认是动态库,而动态库是需要在Embedded Binaries中再次添加的

-
使用动态库苹果是不允许上架的,因此在编译framework时配置记得修改成静态库
屏幕快照 2018-01-29 下午9.59.50.png
3.查看framework支持的cpu框架
lipo -info qqa.framework/qqa
4.静态库含分类
编译静态库的时候没有报错,工程里引用的时候build也没有报错,但是一运行到调用分类中的方法的时候,程序就崩溃了

网友评论