作为一个iOS开发者经常使用别人的框架,很羡慕那些大神,从此我也要开始写框架装逼一波了。既然说起第三方,就免不了提起第三方管理框架cocoapods如果你还没有用过就去点这儿去面壁吧
我也刚开始写开元框架发布到cocoapods 大神请留情
我这里做了一个小demo 仅供参考
1上传源代码到github仓库再克隆到本地, 如果项目本来就在gitub上,直接clone就可以了
2.创建项目的podspec文件
用终端命令cd到本地项目目录并执行如下命令:
$pod spec create QKGroupListExample 这时候本地生成一个QKGroupListExample.podspec文件
用编辑器打开.podspec文件(我自己用Sublime Text)
Pod::Spec.new do |s|
s.name = “QKGroupListExample” //项目名称
s.version = “1.0.0” //项目的版本号
s.summary =“all kinds of categories for iso develop” //这是一个iOS开发的项目
s.description = <<-DESC //对项目的描述
this project provide all kinds of categories for ios develop
DESC
s.homepage = “https://github.com/dqksoftware/QKGroupListExample” //项目的主页地址
s.license = {:type =>”MIT”, :file => “LICENSE”} //基本上开源的项目的license的类型都是MIT
s.author = {“dqk”=>”dqksoftware@163.com”}
s.platform = :ios
s.source = {:git => “https://github.com/dqksoftware/QKGroupListExample.git”, :tag => “1.0.0”}
s.souce_files = {“Clases/*{h.m}”} //公共资源文件也就是pod 下来的文件 *.{h,m}是通配符意思是所有在该目录下以.h .m结尾的文件 该目录地址是相对于QKGroupListExample.podspec文件的
s.requires_arc = true //该项目是arc模式
end
- 验证podspec文件 编辑完podspec文件后需要验证一下这个文件是否可用podspec文件不允许有任何的Warning或者Erro执行命令 $ pod lib lint如果出现
->QKGroupListExamole (1.0.0)
QKGroupListExamole passed validation
则说明 验证通过,否则,根据提示修改podspec文件再次验证,直到验证通过附带说一下,Xcode允许警告存在,所以可以通过命令屏蔽警告 $ pod lib lint - - allow-warnings
如果出现Error但是提示信息不足,可以添加—verbose 以获取更多的错误信息
$ pod lib lint —verbose
4 打印tag上传podspec
podspec 文件中需要指定的tag,完成上述操作后给项目打上tag
$ git tag -m”first release ios_Category with podspec” “1.0.0”
$git push - -tags
最后使用pod trunk 命令,把podspec文件推送到cocoapod官网库
5 注册pod trunk
在终端输入以下命令 参数 邮箱地址, 用户名, 邮箱地址用github 上的最好
$ pod trunk register dqksoftware@163.com ‘dqk’ —verbose
向服务器查询自己注册的信息 $ pod trunk me
输出如下信息就表示注册成功:
-Name:dqk - Email: dqksoftware@163.com - Since: July17th,06:26- Pods: - QConnectionDownloader - QFormData - QHashString - QSessionDownloader - QWebImage - Sessions: - July17th,06:26- November23rd,01:33.IP:43.225.238
6 通过trunk推送podspec文件
$ pod trunk push QKGroupListExample.podspec 这个工程可能会比较耗时
7.最后一切顺利
在终端输入
pod search iOS_Category 来搜索你的项目吧
如果搜素出现错误时:
Unable to find a pod with name, author, summary, or description matching `QKGroupListExample`
在终端中输入 :rm ~/Library/Caches/CocoaPods/search_index.json
然后在进行搜素
如图: