背景
在开发中,有一些以功能区分的代码,我们通常会封装到一个文件夹中,以便再次遇到类似功能的时候,可以直接复用。没了解过cocoapods私有库的同学,可能和我一样,通过拖拽文件夹的方式引入使用。当你了解过cocoapods私有库的时候,你就会发现拖拽的方式实在太过原始了。
什么是cocoapods私有库?
我们经常使用的AFN/Masonry等这些都是通过cocoapods管理的一些公用的第三方库,私有库就是我们自己编写的功能模块,当我们在团队开发的时候,这些模块可以在其他项目中使用,这就是私有库。
怎么实现
1、首先将你的代码上传到github上(也可以使用其他仓库),具体步骤如下:
1.1在github上新建仓库
1.2将新建仓库拉去到本地,复制上面的仓库地址,
这里使用soureTree客户端拉去代码
2、通过pod lib create 【你新建项目的名称】创建一个项目
打开终端:cd Desktop/[新建文件夹] ---》 pod lib create ProjectDemo
执行完命令之后,会有几个问题需要回答:
如果需要提供用户名和邮箱,就提供你github上的用户名和邮箱
回答完问题之后,继续Enter,创建项目成功
cd 当上方文件中的Example文件夹下,使用pod update
接下来,我们需要先把项目上传到刚才github上创建的仓库中
因为前面已经使用SourceTree将仓库拉到本地桌面了,所以,直接将以下几个文件拖入仓库文件夹中
说明:因为使用pod lib create创建项目的时候,当前文件夹中已经有了.git和.gitignore文件,这说明已经在一个git管理的仓库中,我们如果想要将项目重新移植到另外一个仓库中,就必须把.项目自带的仓库移除,所以只导入上面几个文件。
接下来,需要把导入的文件上传到github远程
打开SourceTree,你会发现,刚才导入的文件已经在了,只需要Commit以下,就可以了。
上传成功之后,编辑上方的ProjectDemo.podspec,这里可以使用终端的 vim ProjectDemo.podspec打开
然后 再进入 Example文件夹中,打开Podfile文件做如下修改
修改完成之后,再次执行pod update
这个时候,你导入的那个YubaXXRNMainVC文件夹,就会像AFNetworking仓库一样,出现在Pods文件路径下,在项目中直接import 文件夹/文件名.h即可。