参照官方文档 CocoaPods 官方文档
添加仓库
pod repo add DSSPecs https://github.com/walkdianzi/DSSpecs.git
删除仓库
pod repo remove DSSPecs
更新仓库
pod repo update DSSpecs
查看当前安装的pod仓库
pod repo
提交.podspec
pod repo push DSSpecs xxxx.podspec
验证.podspec文件
pod lib lint name.podspec
pod spec lint name.podspec
pod spec相对于pod lib会更为精确,pod lib相当于只验证一个本地仓库,pod spec会同时验证本地仓库和远程仓库。
- -sources
当你的.podspec文件依赖其他私有库时要引入source
pod lib lint name.podspec --sources='https://github.com/walkdianzi/DSSpecs'
或者直接用仓库名,就是~/.cocoapods/repos/文件夹下对应仓库的名字
pod lib lint name.podspec --sources=DSSPecs,master
- -no-repo-update
有时候当你使用pod update时会发现特别慢,那是因为pod会默认先更新一次podspec索引。使用- -no-repo-update参数可以禁止其做索引更新操作。
pod update --no-repo-update
和git一样,本地有个pod repo,和github上的版本对应,如果你不想更新这个的话后面加上- -no-repo-update就可以了,但是这样会有个问题,如果github上pods的一些插件像AF有新版本了,你本地搜索的af还是旧版本如果用的新版本号是无法装配的,所以每隔一段时间我都会执行一下pod repo update。
- -verbose
打印详细信息
- -only-errors和- -allow-warnings
-allow-warnings是允许warning的存在,也就是说当你在pod lib lint验证podspec的时候,如果不加这句,而你的代码里又一些警告的话,是验证不通过的。而加上这句话的话,有警告也能验证通过。
-only-errors这句话是只显示出错误,就是你在验证的时候就算- -allow-warnings,但是那些warnings也还是会打印出来和errors混杂在一起,这会让你很难找error。所以这里使用- -only-errors来只打印error,不打印warning。
- -fail-fast
出现第一个错误的时候就停止
这个参数非常好用,默认出现出错后,他是不会停下来的,如果是 podspec 里面模块很多,会花费大量的时间。
- -use-libraries
pod在提交或验证的时候如果用到的第三方中需要使用.a静态库文件的话,则会用到这个参数。如果不使用- -use-libraries则会验证不通过。
但是比如你用swift创建了一个pod的话,你使用- -use-libraries就会报错,因为swift开始,生成的就不是.a静态库了,它是不支持编译为静态库的,只能生成.Framework动态库。
完整的命令
pod repo push eric-specs AAA.podspec --allow-warnings --verbose --sources='http://test.git,https://github.com/CocoaPods/Specs'
pod lib lint test.podspec --no-clean --allow-warnings --verbose --fail-fast --sources='http://test.git,https://github.com/CocoaPods/Specs'