iOS-导入静态库(毫不报错)

.a 静态库的建立

  1. 新建工程,选择 Static Library

image.png

  1. 建立测试的方法,我这里选择建立类方法,代码以下
//  Tool.h
@interface Tool : NSObject
+(void)testLog;
@end


//  Tool.m
@implementation Tool
+(void)testLog{
    NSLog(@"测试静态库");
}
@end
复制代码

写入代码后,Command + B 编译,能够看到Products文件下的.a文件由红色变为黑色markdown

image.png

  1. 如图所示进入Copy Files下,添加暴露文件,这里我添加的是Tool.h头文件

image.png

  1. 选择架构

在选择本身想要的设备下,这里我选择的是本身的真机架构

image.png

Build Active Architecture Only 选择 No测试

image.png

Command + B 再次编译ui

⚠️注意:选择真机下编译那么对应的就是真机的适应架构,若是你想要模拟器的架构,就选择在模拟器下进行编译生成.a文件spa

  1. 点击.a文件,右键打开文件目录

image.png

image.png 这个文件目录很重要!debug

(这里说一下刚刚说的真机和模拟器的区别,本身去尝试了以后发现两个的文件目录都会是不同的,这里只作展现,接下来仍是用的真机目录下的静态库)3d

image.png

以上是建立静态库的过程,下面是如何在新建的工程下导入咱们刚刚建立的静态库code

.a 静态库的导入

  1. 新建一个App工程

image.png

  1. 将刚刚的include文件和.a文件直接拖入到咱们的工程中

image.png

image.png

  1. 复制include文件和.a文件,注意这里是复制!!!不要直接拖,上面那步是直接拖到Xcode中

show in finder进入文件目录orm

image.png

两个文件粘贴进去 (你若是是拖入的话那原来静态库的文件就会没有文件了,因此必定要是复制粘贴!)it

image.png

  1. 删除原来的lib

image.png 将这时候的lib删除,从新导入

image.png

选择当前工程文件下的.a

image.png

此时Command + B 没有问题

  1. 写入代码,进行测试

image.png

  1. 运行,没有问题

image.png

.framework静态库的建立

  1. Command + Shift + N 建立 Framework

image.png

好多要设置的,别急别急,一个个来 2. 选择iOS版本,这里我选择的是12.1(根据本身的状况选择就能够了)

image.png

image.png

  1. Build Active Architecture Only 选择 No

image.png

  1. 设为静态库

image.png

  1. 建立类方法
//  Honey.h

@interface Honey : NSObject
+(void)testBaby;
@end


//  Honey.m

@implementation Honey
+(void)testBaby{
    NSLog(@"测试静态库framework");
}
@end
复制代码
  1. 选择设备

注意这里仍是真机就真机,模拟器就模拟器,模拟器和真机的架构不同 这里我选择的是真机

image.png

  1. 选择Scheme,就是Debug或者是Release

image.png

image.png

这里选择debug或者release,我选择的是release

image.png

  1. 选择暴露文件

首先在HoneyFramework.h中导入Honey.h

image.png

而后拖动文件

image.png

拖完后如图所示

image.png

  1. 编译,查看文件

show in finder转到文件目录

image.png

image.png

到这里咱们的静态库就已经建立完成啦~

.framework静态库的导入

不知道为何个人framework没有子目录

  1. 新建工程

image.png

  1. 拖入framework到工程下

image.png

  1. 进入到工程文件的目录下

image.png

  1. 拷贝framework文件夹到工程文件目录下

image.png

image.png

  1. 删除原来就有的该framework,导入新的

image.png

image.png

image.png

导入完成

image.png

  1. command + B 编译没有问题

  2. 测试方法

image.png

如下两种方式导入均可以

#import <HoneyFramework/HoneyFramework.h>
#import "HoneyFramework.framework/Headers/Honey.h"
复制代码
  1. 运行,打印结果无问题

image.png

相关文章
相关标签/搜索