先执行以下2句指令:
sudo gem install cocoapods
pod trunk register myw_720@163.com 'Yawei-Maa' --verbose
解释下,第一个指令是更新Cocoapods版本,它会升级到目前最新的正式版;第二个指令是注册一个邮箱
和用户名,建议和github上注册的保持一致。之后到注册的邮箱中点击链接进行验证。验证完之后,可以执行
下面指令进行查看个人注册信息:
pod trunk me
来看下结果
在此之前我们可以先在github上创建一个仓库(添加.gitignore
、LICENESE
、README.md
文件会很方便)。
然后我们将此仓库git clone下来。
创建podspec
文件有2种方式,一种是通过终端输入指令创建,一种是找一个标准第三方库的podspec
文件并在此基础上改改。
下面是我通过指令创建的podspec
文件,精简版如下:
创建指令:
pod spec create [NAME|https://github.com/USER/REPO]
//eg:
pod spec create YMConfigSpecManager.podspec
在上传之前,先打个tag标记,然后再验证下podspec文件是否正确
创建tag
git tag '1.0.0'
git push --tags
删除tag
//查看tag
git tag
//删除一个指定的tag,并上传一个空tag到远程tag
git tag -d <tagname>
git push origin :refs/tags/<tagname>
git 指令参考《git手册》《tag的删除指令》
截图如下:
此处需要注意:版本号需与podspec文件中的版本号统一。否则会版本错误。
下一步,验证Podspec
pod lib lint
验证通过后如下图所示
然后,执行下面指令进行上传:
pod trunk push [NAME].podspec
//eg:
pod trunk push YMConfigSpecManager.podspec
pod trunk push
指令会首先验证你本地的podspec文件(是否有错误),之后会上传spec文件到trunk,最后会将你上传的podspec文件转换为需要的json文件
第一步验证也可手动进行,输入下面指令:
pod spec lint YMConfigSpecManager.podspec
验证成功的结果如下:
验证失败,会出现一系列错误,但也不是无根可寻,其中出现错误频率最多的提示是
- ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.
此错误的原因是没有找到匹配的文件。
解决方案:
手动创建文件,具体操作方法如下
终端输入:
open /Users/icepoint/Library/Caches/CocoaPods/Pods/External/YMConfigSpecManager/035cb9aa62b9d49f904fad1119b83da4-aebfe
进入相应文件夹,创建文件夹与source_files
文件路径对应
ConfigSpecDemo/ConfigSpecDemo/Classes
文件结构如下:
YMConfigSpecManager
└── 035cb9aa62b9d49f904fad1119b83da4-aebfe
├── ConfigSpecDemo
│ └──ConfigSpecDemo
│ └──Classes
└── LICENSE #开源协议 默认MIT
Classes
文件夹存放自己的库文件
当相应文件都做好后,我们在执行一遍pod trunk push [PATH]
指令。
额,很不幸,遇到与github服务中断。。。。
[!] An error occurred on GitHub’s side. Please check GitHub’s status at https://status.github.com and try again later in case the pod is still not published.
不用急,慢慢等吧。。。。。。
好了,当github服务可以正常使用时有如下提示:
接着,重新运行一下pod trunk push
指令
当上传成功后,结果会是这样:
现在 YMConfigSpecManager (0.0.2)
之所以是0.0.2是因为重新打个tag
标签,0.0.1
的tag
出现点问题。
我们再搜索下看看能否搜到
pod search YMConfigSpecManager
搜索结果如图:
目前我我所掌握的是手动删除,执行:
cd ~/.cocoapods/repos/
找到自己的库名称删除掉就OK了。