本文主要介绍如何自己写一个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、点击网络
3、高级
4、DNS 双击DNS服务器进行修改(不要修改太大了例如:223.6.6.6 -> 223.6.6.7) -> 点击好 ->应用
5、终端执行命令
pod trunk register 您的github邮箱 'github的用户名' --verbose
注册成功之后会有如下提示:
[!] Please verify the session by clicking the link in the verification email that has been sent to qcl901028@gmail.com
并向您的邮箱发送一个邮件点击里面的链接激活就可以了
查看个人信息
pod trunk me
2> 添加podspec描述文件
这个文件是为了让CocoaPods搜索引擎知道代码作者、名称、版本号、源代码地址、依赖库等等信息。下面是官方的信息文件的例子(你也可以去下面cocoapods的官方网站去查看 http://guides.cocoapods.org ):
1.创建podSpec文件主要用到pod lib工具:
手动创建podSpec文件,your_pod_spec_name 最好和你的库的名字一样
pod spec create your_pod_spec_name
这个时候会生成一个文件到本地 your_pod_spec_name.podspec 你可以用记事本打开这个文件(文件位置在你终端操作的目录下面)如下图:
找到文件之后,用记事本打开(当然你也可以装逼的用vim + 文件名的方式打开,然后按1000dd来清楚内容 呃呃呃。。。不知道有没有命令可以删除全部内容 每次清除的时候都是清除10000行,来达到全部清清空的效果) ,然后全选删除。
小小都比一下 我们来看看我们伟大的杰哥是怎么写这个文件的
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' => '199109106@qq.com'}
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 + 你的库名 看看是不是很惊喜 拥有了自己的项目