iOS 开发 Objective-C

iOS 静态库 .a 和 .framework 介绍以及制作

2020-10-24  本文已影响0人  望穿秋水小作坊

一、库相关概念介绍

1. 为什么需要静态库?
2. iOS 中静态库有哪两种形式?
3. iOS 中动态库有哪两种形式?
4. 动态库和静态库的区别?
5. .a 和 .framework 区别?

二、借助 Xcode 制作 .a 静态库

1. Xcode 创建一个 Static Library 项目
Static Library 项目
2. Build Active Architecture Only 设置成 NO

当Debug和Release属性设置为YES时,是为了debug的时候编译速度更快,它只编译当前的architecture版本;
当而设置为NO时,会编译所有的版本;

修改Build Active Architecture Only配置
3. iOS Deployment Target 设置
image.png
4. 在 YYStaticTool.h 和 YYStaticTool.m 中编写我们的工具库代码
// // YYStaticTool.h
@interface YYStaticTool : NSObject
+ (void)sayHi;
@end
// YYStaticTool.m
@implementation YYStaticTool
+ (void)sayHi {
    NSLog(@"hello static lib~");
}
@end
5. 分别在模拟器和 iOS Device 中 Build
Build 获得两种模式下的.a 文件
6. 使用 lipo 命令行指令可以合并它们

lipo -create libStaticTest.a(真机.a文件路径) libStaticTest.a(模拟器.a文件路径) -output 保存路径/StaticTest.a

lipo
7. 拿到合成的 libYYStatic.a 和 YYStaticTool.h 文件,我们创建一个 Demo 程序,把他们拖入 Demo 项目中。
使用.a静态库

三、借助 Xcode 制作 .framework 静态库(带第三方库和图片)

1.创建 .framework 项目
创建 .framework 项目
2. 设置项目的 Build Settings
Build Settings
3. 编写 .framework 代码,然后进行配置
编写 .framework 代码 在 YYFrameworkKit 包含它 对外暴露头文件
4. 创建 Test项目 用于编写 Framework 时方便测试
创建 Test项目 配置 Test项目 运行 Test项目
5. 添加 Podfile 导入第三方 pod 库,pod install 安装库
Podfile 内容
6. 在 .framework 中使用第三方库
image.png
7. 合并 machO 文件
生成两种模式下的 Framework 获得 Framework
8. 创建一个 iOS 项目的 Demo 使用我们的 Framework
Demo 配置 Demo 使用
9. 完结,撒花,谢谢观看!
上一篇 下一篇

猜你喜欢

热点阅读