记录下过程细节,方便以后查看。
静态库(.a和framework):链接时完整拷贝至可执行文件中,多次使用拷贝多次。
动态库(dylib和framework):链接时不复制,运行时由系统动态加载到内存,系统中加载一次,多个程序公用,节省内存。
Framework:一般是对library的封装,同时封装对应的header以及资源文件,.a二进制文件要与.h配合,framework可以直接使用。.a+.h+sourcefile=.framework,sourcefile用bundle包
-
创建Cocoa Touch Framework项目
-
框1设置为No:可以输出多种架构;框2:支持的架构;在Architectures中添加要支持的架构类型。(一般真机:armv7 arm64 模拟器:i386 x86_64)
-
添加头文件
-
command+B编译,分别选择模拟器与Generic iOS Device编译后查看framework信息,如果target为11.2只有x86_64和arm64架构,改为8.0后编译如图
-
合并:合并后同时支持真机与模拟器,方便使用
-
合并后如图,生成的文件替换任意framework中的文件,将framework放到测试程序中测试
-
防止运行报错不识别,转换成二进制文件,添加到Embedded Binaries中
-
完成?