发布自己的库到CocoaPods

本文主要介绍如何自己写一个pod,然后注册到CocoaPods上,并将代码放到Github上供别人下载。这基本上是任何一个pod的“标准”上架流程。当然你也可以将pod放到其他的git平台上。

1> 注册trunk账号

pod trunk register 您的github邮箱'github的用户名' --verbose

第一次尝试的时候可能会报如下错误:

[!] There was an error registering with trunk: getaddrinfo: nodename nor servname provided, or not known

可以修改DNS来解决这个问题

1、打开



2、点击网络

发布自己的库到CocoaPods_第1张图片

3、高级

发布自己的库到CocoaPods_第2张图片

4、DNS  双击DNS服务器进行修改(不要修改太大了例如:223.6.6.6 -> 223.6.6.7)  -> 点击好 ->应用


发布自己的库到CocoaPods_第3张图片

5、终端执行命令 

 pod trunk register 您的github邮箱 'github的用户名' --verbose

注册成功之后会有如下提示:

[!] Please verify the session by clicking the link in the verification email that has been sent to [email protected]

并向您的邮箱发送一个邮件点击里面的链接激活就可以了

查看个人信息

pod trunk me

发布自己的库到CocoaPods_第4张图片

2> 添加podspec描述文件


这个文件是为了让CocoaPods搜索引擎知道代码作者、名称、版本号、源代码地址、依赖库等等信息。下面是官方的信息文件的例子(你也可以去下面cocoapods的官方网站去查看 http://guides.cocoapods.org ):

发布自己的库到CocoaPods_第5张图片

1.创建podSpec文件主要用到pod lib工具:

手动创建podSpec文件,your_pod_spec_name 最好和你的库的名字一样

pod spec create your_pod_spec_name

这个时候会生成一个文件到本地  your_pod_spec_name.podspec 你可以用记事本打开这个文件(文件位置在你终端操作的目录下面)如下图:

发布自己的库到CocoaPods_第6张图片
命令目录
发布自己的库到CocoaPods_第7张图片
.podspec文件位置

找到文件之后,用记事本打开(当然你也可以装逼的用vim + 文件名的方式打开,然后按1000dd来清楚内容  呃呃呃。。。不知道有没有命令可以删除全部内容 每次清除的时候都是清除10000行,来达到全部清清空的效果) ,然后全选删除。 

小小都比一下 我们来看看我们伟大的杰哥是怎么写这个文件的

 地址:MJRefresh.podspec

Pod::Spec.new do |s|

s.name        = 'MJRefresh'

s.version      = '3.1.12'

s.summary      = 'An easy way to use pull-to-refresh'

s.homepage    = 'https://github.com/CoderMJLee/MJRefresh'

s.license      = 'MIT'

s.authors      = {'MJ Lee' => '[email protected]'}

s.platform    = :ios, '6.0'

s.source      = {:git => 'https://github.com/CoderMJLee/MJRefresh.git', :tag => s.version}

s.source_files = 'MJRefresh/**/*.{h,m}'

s.resource    = 'MJRefresh/MJRefresh.bundle'

s.requires_arc = true

end


s.name  库名  就是将来你要导入文件时候的名字  如:pod MJRefresh

s.version 库的版本号  杰哥已经更新到3.1.12

s.summary  总结  写自己项目的用途的

s.homepage 你的库的首页地址  不明白可以自行打开github MJRefresh 看项目结构

s.license      = 'MIT'  这样写就行了  这个是一个许可证 。不知道有啥作用

s.authors      = {'用户名' => 'github邮箱地址'}

s.platform    = :ios, '你的库最低支持的版本'

s.source      = {:git => '项目首页地址/库名.git', :tag => s.version}

s.source_files = 'MJRefresh/**/*.{h,m}' 这个是你的库文件夹路径  这个表示的是MJRefresh文件夹下的所有.h.m文件  

s.resource    = 'MJRefresh/MJRefresh.bundle'  图片或者一些资源文件的位置路径

s.requires_arc = true  是不是arc

当然这些只是一些常用的 (⊙o⊙)…  暂且称他为参数吧 (我真不知道这是个什么鸟东西,不知道怎么去称呼他s.name )。如果需要更多信息  用AF 或者sd 一类的第三方去查看写的什么

额 ,好吧 !废话过多。。。

2. 验证podSpec文件是否正确。

pod lib lint 

3.增加git 版本   

1、git add -A

2、git commit -m "first commit for version 1.0.0"

3、git push origin master

1、当然,你也可以使用SourceTree等GUI形式的Git客户端进行代码的推送操作。

2、确保你所push的代码已经打上"version tag",也就是给源代码打上版本号标签:

4、git tag '1.0.0'

5、git push --tags

3、需要注意的是  版本最好和podspec文件中的版本保持一致

4. 用trunk推送podspec文件

确保podspec文件已校验通过之后,用以下命令将该podspec文件上传至trunk  (your_pod_spec_name.podspec)这个是你自己创建的podspec文件

pod trunk push your_pod_spec_name.podspec

成功之后,就pod Search + 你的库名  看看是不是很惊喜  拥有了自己的项目

参考:

1、CocoaPods官方教程

2、用CocoaPods做iOS程序的依赖管理

3、让代码支持Cocoapods 

4、iOS:手把手教你发布代码到CocoaPods(Trunk方式)

你可能感兴趣的:(发布自己的库到CocoaPods)