养成好习惯-如何将完整项目打包成SDK(Framework),交由其他项目使用(以Swift为例)

最近项目中有个需求比较特殊-两个模块需要复用
有很多个项目需要使用到两个模块,一个聊天模块,一个弹幕模块,但是懒病烦了,每次copy代码然后做兼容,有点low!所以想做个Framework来处理此事(不用.a文件,主要是因为不想用太老的技术,而且.a对于资源文件支持不到位)

废话少说,理个思路

创建FrameWork项目

最好是重新新建一个项目,不要在老项目中新建target,尽量吧!如果有成功项目可以互相交流(企鹅: 1BAB085)


image.png

设置Framework

前往BuildSetting,设置如下:


image.png

image.png

导入需要打包的项目文件,注意:AppDelegate等无关文件去掉,避免冲突!

仅导入项目文件之后的结构如下


image.png

需要cocoapods管理第三方库的请放入Podfile并走一遍init流程,注意添加use_frameworks这一行


image.png

完整目录结构如下:


image.png

配置项目

首先Build一下项目,先如果习惯真机就设置为真机,如果习惯于模拟器,就跟着我用模拟器来走这篇教程
注意目录结构.png

!!!!如果项目需要一个prefixheader文件,请创建并在BuildSetting中设置


image.png
前往Build Phase
image.png

选择需要公开的.h文件右键点击添加到public中

前往项目生成的XX.h文件中,加入公开的.h文件,尽量不要漏写!
image.png
将SDK中pod生成的Framework文件保存到起来,加入到使用项目中
image.png

image.png
将SDK项目中Product目录下xx.framework文件添加到项目中,勾选copy if need ,不勾选会报错!
image.png

目前我所使用的项目是SWIFT,OC项目可以结束了!SWIFT接着看!

image

将项目引用的项目,找到如上的目录,修改modules.moudules -> .moudules
可以尝试Build了!

PS,以上是我的成功经历,如果期间遇到其他本文未提及的问题,建议先百度或者Google,如果还未解决,欢迎加我企鹅互相交流(1BAB085)

你可能感兴趣的:(养成好习惯-如何将完整项目打包成SDK(Framework),交由其他项目使用(以Swift为例))