CocoaPods 是管理Objective-C
和 swift
工程依赖的的工具,可以很方便的管理项目依赖。
CocoaPods
的安装方法参考之前的文章
之前一段时间一直在对项目组件化,在这个过程中经常需要将业务模块独立成单独pod
来实现业务业务解耦,总结一下建立私有库的方法
之前的一篇文章简单介绍了私有库的一些基本操作,先总结一下:
1、准备自己的git
私有库,添加到本地./cocoapods/repos/
2、编写podspec
文件
其实除了pod spec create
的方法之外cocoapods
还提供了一种快捷的方法pod lib create
创建成功之后文件路径
可以看出来所需要的文件都已经自动生成了,我们主要看一下.podspec
文件,比较重要的配置,详细配置戳这里
|
|
其中 resource_bundles
也可以用resources
参考文章
s.libraries = 'z'
其实就是系统的libz
,只是省略lib
前缀
其他详细的配置参考上面的官方文档
配置好之后,我们可以去Example
文件夹目录下pod update
,然后就可以看到我们配置的依赖
这里简单介绍一下podfile
文件
podfile
文件使用ruby
编写的,当我们执行pod update
的时候,会根据库名去我们的cocoapods repo
下面寻找对应的库,然后根据后面的版本号(没指定默认最新)找到对应的podspec
文件,然后去拉对应的代码,我们的cocoapods repo
文件路径~/.cocoapods/repos/
其中我们看到的 pod '库名', :path => '../'
代表指定路径,从当前文件的上级文件中找到podspec
我们还可以使用pod '库名', :git =>'git 地址', :branch =>'分支名'
指定对应git
地址的对应分支
最后我们开发完成,将代码提交打上tag
,编辑podspec
的
通常我们保证tag
和version
一致,以便于维护
最后便是验证、上传了
pod lib lint
验证是否符合规范,我们可以忽略警告--allow-warnings
,后面跟上--sources=git私有库地址
,如果有error
就需要解决完之后才可以
通过之后就是上传了pod repo push 私有库名字 podspec文件名
其实最后的验证上传不是一定验证通过,我们组件化过程中前期各个pod
会有各种依赖,一个验证不通过会导致其他都无法通过,我们可以直接在 ~/.cocoapods/repos/私有repo
下面创建对应私有库文件夹,然后创建version
文件夹,再把对应的podspec
移动到version
文件夹下,提交推送也是OK
的(不过不建议这么做)