让你的框架支持CocoaPods

作者: devchena | 来源:发表于2016-04-21 16:14 被阅读106次

最近在研究如何在github上创建公有库,上传代码后可以用CocoaPods引入到工程中。走过了不少坑,但功夫不负有心人,终于从坑里爬出来了。
文笔不好,综合了别人的技术文章,自己在添油加醋,草草的总了下操作步骤,如有问题请提出来。

下面的步骤做出来的参考:https://github.com/devchena/ColorImageUtils

步骤

1.上传代码到指定github
2.创建 .podspec 文件
3.在github上创建release版本
4.注册CocoaPods账号
5.上传项目代码到CocoaPods
6.检查是否上传成功
7.更新框架版本


1.上传代码到指定github


个人使用Github Desktop客户端具体操作步骤),其他方式请Google,这里不多介绍。(不介绍的原因是我不会 >=<)

在github下载支持CocoaPods的代码,都会有.podspecLicense.gitignore(该文件为隐藏文件),但是通过Github Desktop客户端push上去的是没有License和.gitignore这两个文件的。肿么办?我们可以copy两个这样的文件到自己的工作目录,然后上传到github。

copy后放到项目路径下:


添加License和.gitignore

上传到github:


2.创建 .podspec 文件

打开终端进入项目的根目录,终端输入命令

pod spec create specName

来创建(specName即为你的.podspec文件名)

创建成功后可以选择Xcode打开该文件,去掉多余的注释,按照个人需求编辑完后我的ColorImageUtils.podspec文件如下:

ColorImageUtils.podspec

顺便贴下本地文件路径作参考:

CocoaPods引出的文件

以及主要字段含义:



3.在github上创建release版本

编辑tag,创建release版本

点进去后填上版本号、标题和简单的描述,点击Pulish Realise成功即可。

注意:版本号必须与.podspec文件中的s.version相同


4.注册CocoaPods账号

打开终端,在终端中输入如下命令

pod trunk register 邮箱地址 '用户名' --description='描述信息'

然后根据终端显示信息,如果成功的话会提示让你去邮箱里确认进行激活

输入如下命令可查看个人cocoapods账号信息

pod trunk me

5.上传代码到CocoaPods并检查是否上传成功

上传代码到github前,需要验证.podspec文件内容格式是否有效,终端命令如下:

pod spec lint

注意:终端命令pod spec lint要在.podspec文件目录下执行(这是个坑)

如果文件通过验证,终端会有如下提示:

没有通过的话,终端会给你展示错误信息和警告。有错误的话请解决掉,否则不能上传。但是如果有不影响上传的警号的话,可以在终端命令“pod trunk push specName.podspec”后加上"--allow-warnings",下面有介绍。

接着,我们可以把我们的开源项目push到github仓库上了,终端命令如下:

pod trunk push specName.podspec --allow-warnings

1.specName.podspec就是配置的.podspec文件全名。如果你不在.podspec文件目录下执行上面的终端命令的话,也可以指定podspec文件的绝对路径。
2.上面终端命令里使用了"--allow-warnings",为忽略警告的意思。如果在pod spec lint时终端报出了警号,但是在pod trunk push时不加"--allow-warnings"的话上传是不会成功的。

上传成功后终端提示如下:(我上传时没有加"--allow-warnings",因为.podspec文件验证时没有警告)

pod trunk push specName.podspec

6.检查是否上传成功

终端执行命令搜索:

pod search ColorImageUtils

“ColorImageUtils“即为.podspec文件前缀名,如果成功的话,终端提示如下信息:

上传成功

建个项目用CocoaPods引入下试试:

pod 'ColorImageUtils', '~> 1.0.0'

7.更新框架版本

如果需要更新框架新版的话,只需要在github上创建新的release版本(注意:版本号与podspec文件的s.version保持一致),在此执行终端命令即可

pod trunk push specName.podspec --allow-warnings


本文只做一个学习参考,内容和其他技术文章有很多出入(绝对非copy)。对于上传复杂些的框架,还没有做过尝试,后期有实践的话将会补充。

参考文章

http://www.cocoachina.com/ios/20150228/11206.html
http://www.jianshu.com/p/f332b2c53280#

相关文章

网友评论

    本文标题:让你的框架支持CocoaPods

    本文链接:https://www.haomeiwen.com/subject/eswzlttx.html