Framework的创建

352 阅读2分钟

「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」。

1. 创建Framework

image.png

  • 设置基本信息

image.png arm64 : 必选项,支持iphone5s及以上;最低支持版本:iOS5.1.1

armv7s:支持iPhone5及以上;

armv7:支持iPhone4及以上;

image.png

若想app在各个机器上运行效率最高: Build Active Architecture Only改为NO 这样会为各个指令集编译相应的代码,但包的体积是最大的。

image.png

选择静态库

image.png

新建一个测试类 image.png 添加要暴漏的头文件

image.png

导入暴漏的头文件 image.png 进行编译

image.png 我们show in finder,生成2个一个真机一个模拟器的debug版本

image.png 创建workspace

image.png 这里创建一个相同名称的app项目

image.png

我们把2个工程添加到workspace

image.png 添加framework

image.png

之后选择framework工程编译一下

image.png

导入头文件运行

image.png

2. 添加新的类

我们再添加一个类

image.png

实现后导入暴漏的头文件,之后编译一下

image.png

我们切换到测试的target,使用前编译一下,运行

image.png

3. 添加静态资源

我们通常sdk中会用到一些资源文件,比如图片

image.png

  • 创建Bundle 我们在创建工程在macOS中选择Bundle image.png

创建好后设置iOS类型 image.png 我们选择最低支持的版本,编译下

image.png

在第三方中我们发现都是在一个文件夹下存放我们的资源

image.png

我们也添加一个文件夹用来存放我们图片资源

image.png 编译后,显示bundle的包内容

image.png

修改Build SettingCOMBINE_HIDPI_IMAGES属性为NO。否则Bundle图片格式就会为tiff格式。

image.png

修改后 image.png 把我们的工程拖入workspaceimage.png

我们在testApp中添加我们的bundle

image.png

添加 image.png

编译后,查看包内容,在PlugIns中存放我们的bundle

image.png

读取文件这里我们要使用bundle进行读取路径,图片使用imageWithContentsOfFile进行读取

image.png

在我们开发中,需要更改或者添加直接改变workspace中的资源即可,动态调整。

image.png

framework中也是类似的我们把编译好的bundle放入framework中即可

image.png

  • 以上就是简单的framework的创建