生成sdk静态库

库: 就是程序代码的集合,是共享程序代码的一种方式

1. 库分为:开源库 和 闭源库
1.1 开源库: 公开源代码,能看到具体实现.如SDWebImage, AFNetworking
1.2 闭源库: 不公开源代码,是通过编译后的二进制文件,看不到具体实现
1.3.闭源库: 分为静态库 和 动态库
 
2. 静态库 和 动态库 的存在形式:
2.1 静态库:  .a文件 和 .framework文件
2.2 动态库: .dylib文件 和 .framework文件
 
3. 静态库 和 动态库 的使用上的不一样:
3.1 静态库: 连接时,静态库会被完整的复制到可执行文件中,被调用多少次就会有多少份复制(被屡次使用就会有多份冗余拷贝)
3.2. 动态库: 连接时不复制,程序运行时由系统动态的加载到内存,供程序调用,系统只加载一次,供多个程序调用,节省内存
 
注意:苹果官方要求,项目中不能使用自制的动态库,不然不能上传到AppStore. 咱们只能使用苹果提供的动态库
 
 

**封装SDK静态库(.a文件 和 .h 还有资源bundle)
步骤:
     1. 新建项目
 
 2. 项目名称:
 
3.删除自动生成的两个文件(由于不是咱们要打包的文件)
4.将要打包封装SDK的文件拖到项目中
 
 
5.告诉暴露哪些头文件
6.编译两次 生成两种.a文件(模拟器.a 和 真机.a)
 
 
 
7. show in finder 能够找到.h文件 和封装成.a的.m文件  还有须要用到的
recourse bundle(资源图片等) ,就可做为SDK使用在其余项目中
 
8.将模拟器.a 和 真机.a 合并的方法:
    使用终端:
               输出命令:  cd 文件夹路径 lipo -create 真机.a路径 模拟器.a路径 -output 输出文件名.a
相关文章
相关标签/搜索