前言
Cocoapods可以说是我们iOS开发用到的最多的一个工具了,很多开源的框架、第三方,都可以通过一句pod install
加载到我们的工程中,超级方便,尤其是在Swift和OC的混合开发中,完全可以不用去管这些框架的语言,都是以静态库的形式倒入,最多建个桥联文件就可以使用,可以说是so easy~而且可以方便管理这些第三方的版本,依赖,节省很多开发时间。说了这么多Cocoapods的好处,我们也试着来把自己写的开源库上传到Cocoapods,方便大家使用。
上传Git
这里我用一个我写的叫做FXDropDownMenu的工程为例,首先我们要把这个工程上传到Git,这里我使用的是Github,当然其他的Git也是可以的,例如国内的开源中国的码云(我经常使用),工具是Sourcetree:
编辑好一个完整的版本,上传之后,记得上传一个Tag给上传的版本,这里我们设置tag为1.0
image.png
image.png
标签推送成功之后,可以在我们的分支顶上的版本里看到标签
image.png
创建Podspec描述文件
在我们本地Git下的工程里,进入工程根目录,使用pod spec create FXDropDownMenu
命令,这里的名称写自己的框架的名称
命令窗绿字提示成功,就可以在我们刚才的目录里看到一个后缀名为
.podspec
的文件,用文本编辑器打开编辑,我使用Xcode打开的,万能的Xcode,这个文件里的备注写的很清晰,告诉我们怎么填写,这里我列一些重要的出来:
s.name = "FXDropDownMenu"
s.version = "1.0"
s.summary = "简单好用的下拉点击菜单"
s.description = <<-DESC
"简单好用的下拉点击菜单"
DESC
s.homepage = "https://github.com/Fxxxxxx/FXDropDownMenu"
s.screenshots = "https://img.haomeiwen.com/i3569202/7a9113c911097f20.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "Fxxx" => "e2shao1993@163.com" }
s.social_media_url = "http://www.jianshu.com/u/3ca8f0368b98"
s.platform = :ios
s.source = { :git => "https://github.com/Fxxxxxx/FXDropDownMenu.git", :tag => "1.0" }
s.source_files = "FXDropDownMenu", "FXDropDownMenu/*.{h,m}"
s.resources = "FXDropDownMenu/FXDropDownMenu.bundle/*.png"
s.framework = "UIKit"
# s.dependency "JSONKit", "~> 1.4"
按照自己的信息填写:
- homepage是这个工程Git的主页;
- description框架描述
- screenshots是截屏的效果展示(选填),填一个线上的图片地址就好;
- social_media_url是作者的社交账户地址(选填);
- s.platform = :ios, "7.0"是你项目类别,可以在之后填上你的框架需要的系统最低版本号;
- license是你在创建这个Git的时候勾选生成的,一般Git使用MIT,如果建Git目录的时候忘记生成了,从其他项目复制一个过来也可以,放在根目录;
- source这个比较重要,是你的源地址。Cocoapods会从这个地址拉取你的项目,这里要填上我们刚才推送的版本号
-
source_files这个很重要,不能填错,是你的框架的代码文件
FXDropDownMenu/**/*.{h,m}
,因为我这里是直接放在Git工程的根目录下的,*.{h,m}是指要编译的文件格式
image.png
image.png - resources如果你有资源文件,例如图片什么的,路径写在这里
- framework你需要的系统静态库
- dependency你的框架需要使用的其他第三方,没有就注释掉
验证podspec文件
信息填好保存之后,我们需要通过Cocoapods的验证,进入podspec所在的目录,执行
pod spec lint FXDropDownMenu.podspec
image.png
我这里没有通过验证,两个错误,一个警告,阅读一下就知道问题所在了,我们的description为空,在文件中找到这个地方,补充上,之后记住这个必填,我上面的列表里是更正过的,这里只是告诉大家怎么处理验证不通过
image.png
改完之后,我们重新提交验证,这次绿字顺利通过
image.png
Trunk发布自己的Pods
1. 注册Trunk,如果你的电脑已经注册,绕过这一步
pod trunk register email 'name'
这里email
填自己的邮箱,name
填自己的称呼,提交之后,系统会发一份邮件到这个邮箱验证
image.png
去这个链接验证就好了,验证成功
image.png
注册完成,我们
pod trunk me
就可以看到我们的信息了image.png
2. Trunk Push把我们的框架提交到Cocoapods
做到这一步就很简单了,命令行pod trunk push
,回车提交,等待ing
等待完成之后,大功告成啦,之后就可以像其他第三方那样,直接使用Cocoapods倒入了,是不是很方便😊
PS:关于更新自己的pods版本,重新填写podspec,填写新的版本号和新版本的git tag,像上述步骤一样提交就好了
欢迎更正错误和交流,回复评论和私信皆可
网友评论