前言
本文使用trunk方式发布自己的开源库。
本文需要读者具有GitHub账号,会使用GitHub Desktop上传项目。
本文需要读者已经安装Cocoapods,如果还未安装,可以参考本文。
1. 创建项目
创建Demo工程,添加开源库文件,License文件、README.md、podspec文件,所有文件添加完成后的结构如下图:
1、开源库文件:就是开源给别人用的文件[即:上图中红框的部分];
2、Demo:示例[即:MMImagePickerDemo];
3、README.md:markdown文件,用于介绍开源库的使用;
4、License:许可,默认license类型是MIT;
5、podspec文件:Pods依赖库的描述文件;
6、gif/png/MP4等等文件:示例截图或视频。
其中3、6不是必须的,有自然最好。
看到这里,大家肯定想知道3、4、5的文件是如何而来?我自己比较懒,一般都是从别人那里拷贝过来,然后修改。这里提供我的开源库(MMImagePicker)以便大家获取所需文件。如果大家想自己创建,这篇文章可供大家参考。
2. podspec文件的说明及验证
一般自己创建的podspec文件,内容都比较多,保留有用的即可,结构如图:
说明:
1、s.homepage:开源库GitHub地址,使用GitHub客户端提交代码成功后即生成地址;
2、s.source_files:开源库的原代码目录[即:工程根目录下的MMImagePicker文件夹];
3、s.resources:资源文件;
4、s.framework:依赖的库;
如果你的开源库还依赖第三方库,例如FMDB,需要添加s.dependency,如:
s.dependency "FMDB", "~> 2.6.2"
编辑完podspec文件后,需要验证一下该文件是否可用,使用终端,cd到该工程目录下,执行:
pod spec lint MMImagePicker.podspec
输出 MMImagePicker passed validation.时,表示验证通过。
这时候,需要将你做的这些修改,再次通过GitHub Desktop提交。
3. 上传podspec文件到trunk服务器
以上工作做完后,这里就是最后一步了。
首先,给你所push的代码打上”version tag”,也就是给源代码打上版本号标签,在终端中cd到本开源库工程根目录后,执行:
git tag '1.0'
git push --tags
然后,通过trunk上传你的podspec文件:
pod trunk push MMImagePicker.podspec
执行上面的push操作,就相当于你把你的源代码提交给CocoaPods团队审核了。审核通过后,就可以搜索到自己的开源库了。
NOTE!!!
若出现以下的ERROR:
[!] Unable to find a pod with name, author, summary, or description matching `MMImagePicker`
终端执行以下命令:
rm ~/Library/Caches/CocoaPods/search_index.json
再次搜索即可。
4. 开源库版本更新
版本更新的方式同上,注意修改podspec文件中的版本。