发布开源框架到CocoaPods
在我们的开发项目中,经常会使用CocoaPods来集成第三方框架,但是如果你也想贡献一个开源框架,或者将自己的功能模块做成一个开源库,那么应该怎么做了:
-
新建的库将被保留在github中,所以我们需要在github中建一个与我们远程仓库
tmp78d4a2c0.png
2.通过pod lib create 来创建工程在终端中输入
pod lib create YLBanner
接下来回答几个问题

之后会问你四个问题,问完后自动执行pod install并生成依赖:
- 使用什么语言
- 是否需要一个例子工程
- 选择一个测试框架
- 是否基于View测试
然后自动执行pod install 生成工程文件,目录如下

向pod文件夹(此处为podDemo)中加入资源文件(Assets
中)和库文件(Classes中)

在example文件夹下执行pod update更新工程pod。成功后开发
目录下我们的pod文件便会更新。**只要更新了pod文件夹下内容或者更改了podspec文件都需要执行pod update
**
本地的git会管理通过Cocoapods创建的项目,我们需要将其与我们远程仓库关联。命令如下
git add .
git commit -m "Initial"
git remote add origin https://github.com/*******/YLBanner.git #添加远端仓库
git push origin master #提交到远端仓库
接下来我们需要编辑podspec文件

然后为项目打上tag
git tag -a 0.1.0 -m "tag release 0.1.0" #打tag
git push --tags #提交tag
接下来需要验证,如果有Error和Warning是无法添加到spec repo中的。但是Warning可以存在,可以使用选项--allow-warnings
忽略警告。
pod lib lint
可能遇到的问题和解决办法(这里的错误截取的是别人家的,自己的没保存)
- 1

这个错误我的解决方案是升级CocoaPods到最新版本,这又涉及到一系列的升级,推荐博客http://blog.csdn.net/cituses/article/details/51602367
- 2(也是别人家的,但是我也遇到了)
- ERROR | [iOS]unknown: Encountered anunknownerror ([!] /Applications/Xcode.app/Contents/Developer/usr/bin/gitclone https://github.com/CoderJackyHuang/HYBHelperKit.git /var/folders/tx/fwfjfxpd7318fs37s78c6q5c0000gn/T/d20160709-15448-1mcnv9t --template= --single-branch --depth 1 --branch v0.0.1 Cloning into '/var/folders/tx/fwfjfxpd7318fs37s78c6q5c0000gn/T/d20160709-15448-1mcnv9t'...warning: Could notfindremotebranchv0.0.1 toclone.fatal: Remote branchv0.0.1 notfoundin upstreamorigin
这个就是你的tag没打对,so do it again!
接下来,使用CocoaPods Trunk发布自己的Pods,如果没有,就去注册吧
注册
pod trunk register 这里写邮箱 '写账号或者叫称呼' --description='yesh,写描述'
他会发一封验证邮件去你的邮箱
然后用
pod trunk me
查看
最后发布到公有库
pod trunk push [NAME.podspec]
恩,就是这样,如果要查看你的发布使用下面的命令
pod setup
pod search name