.a 静态库的创建
- 新建工程,选择 Static Library
- 创建测试的方法,我这里选择创建类方法,代码如下
// Tool.h
@interface Tool : NSObject
+(void)testLog;
@end
// Tool.m
@implementation Tool
+(void)testLog{
NSLog(@"测试静态库");
}
@end
写入代码后,Command + B 编译,可以看到Products文件下的.a文件由红色变为黑色
- 如图所示进入Copy Files下,添加暴露文件,这里我添加的是Tool.h头文件
- 选择架构 在选择自己想要的设备下,这里我选择的是自己的真机
在 Build Active Architecture Only
选择 No
Command + B 再次编译
⚠️注意:选择真机下编译那么对应的就是真机的适应架构,如果你想要模拟器的架构,就选择在模拟器下进行编译生成.a文件
- 点击.a文件,右键打开文件目录
这个文件目录很重要!
(这里说一下刚刚说的真机和模拟器的区别,自己去尝试了之后发现两个的文件目录都会是不一样的,这里只做展示,接下来还是用的真机目录下的静态库)
以上是创建静态库的过程,下面是如何在新建的工程下导入我们刚刚创建的静态库
.a 静态库的导入
- 新建一个App工程
- 将刚刚的include文件和.a文件直接拖入到我们的工程中
- 复制include文件和.a文件,注意这里是复制!!!不要直接拖,上面那步是直接拖到Xcode中
show in finder进入文件目录
两个文件粘贴进去 (你如果是拖入的话那原来静态库的文件就会没有文件了,所以一定要是复制粘贴!)
- 删除原来的lib
将这时候的lib删除,重新导入
选择当前工程文件下的.a
此时Command + B 没有问题
- 写入代码,进行测试
- 运行,没有问题
.framework静态库的创建
- Command + Shift + N 创建 Framework
好多要设置的,别急别急,一个个来 2. 选择iOS版本,这里我选择的是12.1(根据自己的情况选择就可以了)
- 在
Build Active Architecture Only
选择 No
- 设为静态库
- 创建类方法
// Honey.h
@interface Honey : NSObject
+(void)testBaby;
@end
// Honey.m
@implementation Honey
+(void)testBaby{
NSLog(@"测试静态库framework");
}
@end
- 选择设备 注意这里还是真机就真机,模拟器就模拟器,模拟器和真机的架构不一样 这里我选择的是真机
- 选择Scheme,就是Debug或者是Release
这里选择debug或者release,我选择的是release
- 选择暴露文件
首先在HoneyFramework.h中导入Honey.h
然后拖动文件
拖完后如图所示
- 编译,查看文件 show in finder转到文件目录
到这里我们的静态库就已经创建完成啦~
.framework静态库的导入
不知道为什么我的framework没有子目录
- 新建工程
- 拖入framework到工程下
- 进入到工程文件的目录下
- 拷贝framework文件夹到工程文件目录下
- 删除原来就有的该framework,导入新的
导入完成
-
command + B 编译没有问题
-
测试方法
以下两种方式导入都可以
#import <HoneyFramework/HoneyFramework.h>
#import "HoneyFramework.framework/Headers/Honey.h"
- 运行,打印结果无问题