一、前言
最近这两天将分享都是CocoaPods相关,内容比较枯燥偏向于语法方面和工具方面,但是磨刀不负砍柴工。如果连cocoaPods都不会使用未免太low!
首先再上一篇《关于CocoaPods》主要介绍的都是关于CocoaPods的环境安装部分。如果遇到问题,通常无非就是从ruby -v 到 gem -v 再到 pod --version把对应的版本都升级到最新的版本基本问题都不到。完成这部分工作,配合着Podfile的语法就能够很方便的使用别人的lib。但是当我们自己有写的不错的lib需要和别人分享的时候,那我们又该怎么做呢?
先附上:CocoaPod的官网地址:https://blog.cocoapods.org
二、CocoaPods上传的流程
1. 首先注册trunk,当然注册之前请保证你的CocoaPods的版本足够新,如果不知道怎么操作的请参考的为文章上篇,《关于CocoaPods篇》
sudo gem install cocoapod
注册很简单,仅仅需要在终端中输入一下命令(邮箱,名字,请保证邮箱能接收到邮件)
pod trunk register linxi_njupt@163.com 'cslmark' --verbose
到邮箱中点击链接就能完成激活,之后以下命令来验证是否激活成功
pod trunk me
2. 配置Podspec文件
a. 关于PodSpec文件
从字面上也能理解Pod+Specification类似于PodFile的配置文件也具有自己的语法。因为
简单地讲就是让CocoaPods搜索引擎知道你的代码的作者、版本号、源代码地址、依赖库等信息的文件。任何支持CocoaPods的开源代码都必须有podspec文件。CocoaPods在github中用一个repo来管理所有支持CocoaPods的开源代码:https://github.com/CocoaPods/Specs。
b. 怎么创建Podspec文件(其中:SLStatisticsView 为你创建的文件名)
pod spec create SLStatisticsView
3. 接下来的主要是设置一个github仓库
具体的步骤http://blog.csdn.net/wzzvictory/article/details/20067595
有非常详细的记录,跟着里面的第一第二步实现,其他内容有兴趣的可以看看。
4. 接下来就是写podSpec文件
主要把握几个点:
s.name = "SLStatisticsView"
s.version = "0.1.0"
s.summary = "Offer a easy to built a statisticsView For iOS"
s.description = <<-DESC
It is a marquee view used on iOS, which implement by Objective-C.
DESC
s.homepage = "https://github.com/cslmark/SLStatisticsView"
s.license = "MIT"
s.author = { "cslmark" => "chensl@hadlinks.com" }
s.platform = :ios, "7.0"
s.source = { :git => >"https://github.com/cslmark/SLStatisticsView.git", :tag => "#{s.version}", :commit => "2873617a0b0967b5c6a560b3570b942ed336978e" }
s.framework = "Foundation","UIKit"
s.requires_arc = true
5. 验证和上传,
首先是cd 到对应的目录下
pod lib lint SLStatisticsView.podspec
也可以使用该命令这样可以看到具体失败的细节
pod lib lint SLStatisticsView.podspec --verbose
验证通过之后使用以下命令把源码push到CocoaPods上
pod trunk push SLStatisticsView.podspec
6. 附上我的改DEMO工程的信息
gitHub地址: https://github.com/cslmark/SLStatisticsView
此外其中更新的新的版本大体也是重新push的过程,包括更改git上的tag值,重写podSpec里面的s.version, commit (里面的内容是和可以用git log里面的哈希值对应)。然后重复第5小步,更新成功的之后将会出现的截图,我这边也已经上传。
以下是我这个库是实现的效果图,有需要用到类似图表的可以下载
pod 'SLStatisticsView', '~> 0.1.1'
三、常见问题的解答
- syntax error 比如在 iOS 7.0 出现 "^" 的语法错误
特别注意不要用MAC自带的文本编辑器打开,文本编辑器会不自觉地的英文的""改成中文的 ”“ 找到出错的地方,最好使用终端打开编辑,使用到命令如下(编辑,退出文档, 插入, 退出编辑)
Vim SLStatisticsView.podspec
wq
I
Ese
四、附录
经常使用的命令行
列举所有该git的tag号
git tag
只想得到1.4.2序列的标签
git tag -l v1.4.2.*
创建带有注释的标签,显示详情的标签
git tag -a v1.4 -m 'version 1.4'
git show v1.4
增加标签和删除标签
git tag '1.0.0'
git push –tags
git push origin --delete tag
git