美文网首页
记录一下将现有代码打包成framework的全过程

记录一下将现有代码打包成framework的全过程

作者: Joshaphat | 来源:发表于2021-10-21 20:07 被阅读0次

接到一个需求,需要将现有代码封装成库,前前后后查资料查百度用了半个多月,这里为了防止忘记过程(懂得都懂)做一下笔记。

开发环境 xcode 12.5,macOS 11.3.1

首先先创建一个工程,选择framework

创建工程

创建好工程之后,将你需要打包成framework的内容全部拖到项目内

我这里是用已经做好的framework截的图,所以会跟创建之初有些区别。区别在刚创建的工程只会有一个同名的.h文件,这个文件用来声明一些公开的头文件方便外部引用。

不过也可以删除掉创建一个同名的继承于NSObject类,这样可以在.m文件中做一些你想做的操作。

当然也可以没有这个文件,这样你需要在不同需要时在引用相应的头文件即可。

之后就是将外部需要引用的文件公开。

选择工程文件->对应的target->Build Phases->Headers

将project内的文件按需添加到public中(别学我,我这文件太多了挑不过来-_-||)

然后再在同目录下的Link Binary With Librires中将以来的库添加一下

这时候基本的配置就完成了,直接build的话按正常来说应该就会通过了

不过当你的framework依赖其他自建的framework的时候,并且这个framework是你之前刚创建好的,之前与你当前窗前的framework在同一目录下,都是用#import "XXX"做的引用的时候,就会出现引用不到文件的问题

出现此状况不要慌,你可以选择搜索头文件,将import的方式改为<>

也可以跟我一样,选择偷懒的方式,如图

在build setting中搜索 search paths

找到Header Search Paths

双击修改

修改头文件引用路径

将文件的相对路径添加到Header Search Paths中,格式为

$(PROJECT_DIR)/工程名/你需要引用的库所在的文件路径/库名称全称/Headers/

或者$(SRCROOT)/工程名/你需要引用的库所在的文件路径/库名称全称/Headers/

然后重新build,就会发现之前的错误不见了,双引号引用也是可以编译通过的了

相关文章

网友评论

      本文标题:记录一下将现有代码打包成framework的全过程

      本文链接:https://www.haomeiwen.com/subject/ctybrttx.html