一、前言
最近這兩天將分享都是CocoaPods相關(guān),內(nèi)容比較枯燥偏向于語法方面和工具方面,但是磨刀不負(fù)砍柴工。如果連cocoaPods都不會使用未免太low!
首先再上一篇《關(guān)于CocoaPods》主要介紹的都是關(guān)于CocoaPods的環(huán)境安裝部分。如果遇到問題,通常無非就是從ruby -v 到 gem -v 再到 pod --version把對應(yīng)的版本都升級到最新的版本基本問題都不到。完成這部分工作,配合著Podfile的語法就能夠很方便的使用別人的lib。但是當(dāng)我們自己有寫的不錯的lib需要和別人分享的時候,那我們又該怎么做呢?
先附上:CocoaPod的官網(wǎng)地址:https://blog.cocoapods.org
二、CocoaPods上傳的流程

1. 首先注冊trunk,當(dāng)然注冊之前請保證你的CocoaPods的版本足夠新,如果不知道怎么操作的請參考的為文章上篇,《關(guān)于CocoaPods篇》
sudo gem install cocoapod
注冊很簡單,僅僅需要在終端中輸入一下命令(郵箱,名字,請保證郵箱能接收到郵件)
pod trunk register linxi_njupt@163.com 'cslmark' --verbose

到郵箱中點擊鏈接就能完成激活,之后以下命令來驗證是否激活成功
pod trunk me

2. 配置Podspec文件
a. 關(guān)于PodSpec文件
從字面上也能理解Pod+Specification類似于PodFile的配置文件也具有自己的語法。因為
簡單地講就是讓CocoaPods搜索引擎知道你的代碼的作者、版本號、源代碼地址、依賴庫等信息的文件。任何支持CocoaPods的開源代碼都必須有podspec文件。CocoaPods在github中用一個repo來管理所有支持CocoaPods的開源代碼:https://github.com/CocoaPods/Specs。
b. 怎么創(chuàng)建Podspec文件(其中:SLStatisticsView 為你創(chuàng)建的文件名)
pod spec create SLStatisticsView
3. 接下來的主要是設(shè)置一個github倉庫
具體的步驟http://blog.csdn.net/wzzvictory/article/details/20067595
有非常詳細(xì)的記錄,跟著里面的第一第二步實現(xiàn),其他內(nèi)容有興趣的可以看看。
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 到對應(yīng)的目錄下
pod lib lint SLStatisticsView.podspec

也可以使用該命令這樣可以看到具體失敗的細(xì)節(jié)
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 (里面的內(nèi)容是和可以用git log里面的哈希值對應(yīng))。然后重復(fù)第5小步,更新成功的之后將會出現(xiàn)的截圖,我這邊也已經(jīng)上傳。
以下是我這個庫是實現(xiàn)的效果圖,有需要用到類似圖表的可以下載
pod 'SLStatisticsView', '~> 0.1.1'
SLStatisticsViewDemo
三、常見問題的解答
- syntax error 比如在 iOS 7.0 出現(xiàn) "^" 的語法錯誤
特別注意不要用MAC自帶的文本編輯器打開,文本編輯器會不自覺地的英文的""改成中文的 ”“ 找到出錯的地方,最好使用終端打開編輯,使用到命令如下(編輯,退出文檔, 插入, 退出編輯)
Vim SLStatisticsView.podspec
wq
I
Ese
四、附錄
經(jīng)常使用的命令行
列舉所有該git的tag號
git tag
只想得到1.4.2序列的標(biāo)簽
git tag -l v1.4.2.*
創(chuàng)建帶有注釋的標(biāo)簽,顯示詳情的標(biāo)簽
git tag -a v1.4 -m 'version 1.4'
git show v1.4
增加標(biāo)簽和刪除標(biāo)簽
git tag '1.0.0'
git push –tags
git push origin --delete tag
git
