最近项目中有个需求比较特殊-两个模块需要复用
有很多个项目需要使用到两个模块,一个聊天模块,一个弹幕模块,但是懒病烦了,每次copy代码然后做兼容,有点low!所以想做个Framework来处理此事(不用.a文件,主要是因为不想用太老的技术,而且.a对于资源文件支持不到位)
废话少说,理个思路
创建FrameWork项目
最好是重新新建一个项目,不要在老项目中新建target,尽量吧!如果有成功项目可以互相交流(企鹅: 1BAB085)
设置Framework
前往BuildSetting,设置如下:
导入需要打包的项目文件,注意:AppDelegate等无关文件去掉,避免冲突!
仅导入项目文件之后的结构如下
需要cocoapods管理第三方库的请放入Podfile并走一遍init流程,注意添加use_frameworks这一行
完整目录结构如下:
配置项目
首先Build一下项目,先如果习惯真机就设置为真机,如果习惯于模拟器,就跟着我用模拟器来走这篇教程
!!!!如果项目需要一个prefixheader文件,请创建并在BuildSetting中设置
前往Build Phase
选择需要公开的.h文件右键点击添加到public中
前往项目生成的XX.h文件中,加入公开的.h文件,尽量不要漏写!
将SDK中pod生成的Framework文件保存到起来,加入到使用项目中
将SDK项目中Product目录下xx.framework文件添加到项目中,勾选copy if need ,不勾选会报错!
目前我所使用的项目是SWIFT,OC项目可以结束了!SWIFT接着看!
将项目引用的项目,找到如上的目录,修改modules.moudules -> .moudules
可以尝试Build了!
PS,以上是我的成功经历,如果期间遇到其他本文未提及的问题,建议先百度或者Google,如果还未解决,欢迎加我企鹅互相交流(1BAB085)