1.检查cocoa pods
你的电脑必须安装了cocopods,安装教程//www.greatytc.com/p/9e4e36ba8574, 而且版本要在0.33版本以上,你可以通过命令 pod --version检查当前版本,如果发现低于0.33,则需要更新升级。
sudo gem update --system
或者
sudo gem install cocoapods
当你敲完sudo gem update,进行回车的时候(第一次需要输入密码,密码就是你的开机密码),可能会报错,如
解决办法:
sudo gem install -n /usr/local/bin cocoapods --pre
2. cd你的项目路径
3. 注册
// register后面紧跟你的邮箱,第一个单引号之间写你的名字,description可为空,加上--verbose可以输出详细debug信息,方便出错时查看。
pod trunk register xxx@163.com 'myName' --description=' ' --verbose
注册完敲回车,你的邮箱会收到一份邮件,邮件中有一个链接,点击链接直接进入即注册成功(只有第一次点击才有效,从第二次开始可能就会报 404错误)
你可以通过命令pod trunk me查看自己的注册信息
LibodeMacBook-Pro:~ libo$ pod trunk me
- Name: myName
- Email: xxx@163.com
- Since: September 20th, 02:55
- Pods:
- SPPageMenu
- Sessions:
- September 20th, 02:55 - January 26th, 2018 02:56. IP: 180.173.155.163
Description:
- September 20th, 03:07 - January 26th, 2018 03:07. IP: 180.173.155.163
Description:
- September 20th, 04:16 - January 26th, 2018 04:17. IP: 180.173.155.163
Description:
- September 20th, 09:15 - January 26th, 2018 09:15. IP: 180.162.231.144
Description:
- September 20th, 09:20 - January 26th, 2018 10:55. IP: 180.162.231.144
Description:
- September 20th, 23:04 - January 26th, 2018 23:05. IP:
180.173.155.163
- September 20th, 23:47 - January 27th, 2018 00:27. IP:
180.173.155.163
- September 21st, 01:24 - January 27th, 2018 01:34. IP:
180.173.155.163
4. 部署pod
创建创建 podspec文件 ,在终端输入命令:
pod spec create 你的项目名字
创建完之后,你的项目里头会多出一个podspec文件
接下来我们需要编辑这个文件,先把这个文件打开,如果直接打不开,那就选择一种可以打开的方式,我选择的是文本编辑
打开后如图:
有个非常值得注意的是,在编辑podspec文件时,有可能英文状态下的双引号会莫名的变成中文状态下的双引号,你要保证所有的双引号时英文状态下的,可以直接在文本编辑器中直接command+f,然后搜索替换,如图
// 你还可以通过命令 pod lib lint 检验spec文件
5. 上传源代码到github
在验证和上传你的podspec文件到trunk之前,需要将你的源码push到Github上,tag一个版本号并发布一个release版本,这样podspec文件中的s.source的值才能是准确的:
git add -A
git commit -m "Release 1.0.1"
git tag '1.0.1'
git push --tags
git push origin master
set the new version to 1.0.1
set the new tag to 1.0.1
6. 提交到trunk
pod trunk push
这一步需要耐心等待一下,可能需要几分钟,这一步也是最容易出错的地方,错误类型不胜枚举,下面就列出几个我遇到过的错误
错误1:
这个错误就是podspec文件有问题,一定要仔细检查编辑时是否哪里没有写对,比如是否存在中文的双引号,比如s.version是否与项目版本号一致等
错误2:
这个错误困扰过我很久,报这个错,你要检查一下podspec文件中的iOS平台是否支持
警告
如果所有的错误都没了,则再次pod trunk push,此时你可能又会因为一个警告而无法push,如
按照提示,在pod trunk push后面加上--allow-warnings即可
pod trunk push --allow-warnings
如果成功了,终端截图如下:
检测是否提交成功
到这里已经完成了提交到trunk的操作,下面我们来搜索一下是否真的成功了
search后面填的就是pod spec文件中的s.name的值,也可以填s.summary的值,也可以填s.description的值
pod search SPPageMenu
如果搜索不到,比如提示如下错误
这并不代表你提交失败了,有可能cocoapods还没更新过来
解决办法
// 清空缓存
rm ~/Library/Caches/CocoaPods/search_index.json
再次pod search SPPageMenu,如果还不行,更新一下cocoa pods
sudo gem install -n /usr/local/bin cocoapods --pre
或者试试
pod repo update
一次不行,就多来几遍,实在搜不到,可以去https://cocoapods.org/看看,有时要过很久才能搜到
搜索成功截图: