上传自己的库到Cocoapods

上传自己的库到Cocoapods

注册trunk

先执行以下2句指令:

sudo gem install cocoapods
pod trunk register myw_720@163.com 'Yawei-Maa' --verbose

解释下,第一个指令是更新Cocoapods版本,它会升级到目前最新的正式版;第二个指令是注册一个邮箱
和用户名,建议和github上注册的保持一致。之后到注册的邮箱中点击链接进行验证。验证完之后,可以执行
下面指令进行查看个人注册信息:

pod trunk me

来看下结果


上传自己的库到Cocoapods_第1张图片

配置podspec文件

在此之前我们可以先在github上创建一个仓库(添加.gitignoreLICENESEREADME.md文件会很方便)。
然后我们将此仓库git clone下来。

创建podspec文件有2种方式,一种是通过终端输入指令创建,一种是找一个标准第三方库的podspec文件并在此基础上改改。

下面是我通过指令创建的podspec文件,精简版如下:

创建指令:

pod spec create [NAME|https://github.com/USER/REPO]
//eg:
pod spec create YMConfigSpecManager.podspec


上传自己的库到Cocoapods_第2张图片

上传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

验证成功的结果如下:


上传自己的库到Cocoapods_第3张图片

验证失败,会出现一系列错误,但也不是无根可寻,其中出现错误频率最多的提示是

- 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.


上传自己的库到Cocoapods_第4张图片

不用急,慢慢等吧。。。。。。

好了,当github服务可以正常使用时有如下提示:


github正常服务

接着,重新运行一下pod trunk push 指令

当上传成功后,结果会是这样:


上传自己的库到Cocoapods_第5张图片

现在 YMConfigSpecManager (0.0.2) 之所以是0.0.2是因为重新打个tag标签,0.0.1tag 出现点问题。

我们再搜索下看看能否搜到

pod search YMConfigSpecManager

搜索结果如图:


上传自己的库到Cocoapods_第6张图片

删除创建好的库

目前我我所掌握的是手动删除,执行:

cd ~/.cocoapods/repos/

找到自己的库名称删除掉就OK了。


参考文章

  1. cocoapods指令集
  2. 利用trunk上传自己的库
  3. 使用Cocoapods创建私有podspec

你可能感兴趣的:(iOS开发杂记)