IOS 中什么是静态库和动态库?如何使用?代码举例讲解

在 IOS 开发中,我们常使用的库类型主要有两种:静态库和动态库。

静态库:

  1. 以 .a 后缀名结尾。
  2. 在编译时将库中的代码合并到可执行文件中。
  3. 使用 #-import 导入。
  4. 库大小较大,但运行时不依赖库文件。
  5. 示例:
objc
// 导入
#import <UIKit/UIKit.h>

// 使用
[UIButton buttonWithType:UIButtonTypeSystem]; 

动态库:

  1. 以 .dylib 后缀名结尾。
  2. 在运行时被加载到内存并执行。
  3. 使用 #import 导入。
  4. 库大小较小,但运行时依赖库文件。
  5. 示例:
objc
// 导入
#import <sqlite3.h>

// 使用
sqlite3 *db;
sqlite3_open(":memory:", &db);

在实际开发中,绝大多数情况下我们使用的是框架(Framework),它包含着静态库和动态库。

使用framework的步骤:

  1. 导入:在xcode – Targets – General – Frameworks, Libraries and Embedded Content中添加。
  2. 链接:在xcode – Build Settings – Framework Search Paths 中添加framework路径。
  3. 导入头文件:
objc 
#import <FrameworkName/ClassName.h>
  1. 使用:直接调用类名和方法。