Swift版cocoapods庫(kù)制作

swift cocoapods

我們都知道iOS項(xiàng)目管理方式pod是一個(gè)很好用的工具,可以用來(lái)更新管理和更新第三方庫(kù)資源,下面介紹一下自己上傳pod庫(kù)的方法男韧,下面以FanRefresh為例氢哮。

1.項(xiàng)目準(zhǔn)備(FanRefresh)

  • 完整的git項(xiàng)目,包含LICENSE,README.md诬烹,可以把git clone 或者本地項(xiàng)目上傳github上
  • 記得swift項(xiàng)目里面要寫(xiě)好暴露的屬性和方法和類砸烦,必須使用public或open,不然別人pod下拉不能調(diào)用
public enum FanRefreshState:Int {
    case Default=0
    case Pulling=1
    case Refreshing=2
    case WillRefresh=3
    case NoMoreData=4
}
public class FanRefreshComponent: UIView {}
public var scrollViewOriginalInset:UIEdgeInsets?
public extension UIScrollView {}
public let FanRefreshHeaderHeight:CGFloat=60.0
    
  • 下面的所有命令行都是在項(xiàng)目根目錄(FanRefresh)下執(zhí)行(切記)

2.podspec文件制作及驗(yàn)證

1.創(chuàng)建podspec文件

pod spec create FanRefresh
//打開(kāi)文件編輯,或者用Sublime
vi FanRefresh.podspec

2. podspec文件內(nèi)容

Pod::Spec.new do |s|

  s.name         = "FanRefresh"
  s.version      = "0.0.3"
  #主要標(biāo)題
  s.summary      = "a swift Refresh control"
  #詳細(xì)描述(必須大于主要標(biāo)題的長(zhǎng)度)
  s.description  = <<-DESC
       一個(gè)swift的下拉刷新绞吁,上拉加載庫(kù)幢痘,UITableview,UICollectionView,UIWebView
                   DESC
  #倉(cāng)庫(kù)主頁(yè)
  s.homepage     = "https://github.com/fanxiangyang/FanRefresh"
  s.license      = "MIT"
  s.author       = { "fanxiangyang" => "fqsyfan@gmail.com" }
  s.platform     = :ios,'8.0'
  #倉(cāng)庫(kù)地址(注意下tag號(hào))
  s.source       = { :git => "https://github.com/fanxiangyang/FanRefresh.git", :tag => "#{s.version}" }
  #這里路徑必須正確家破,因?yàn)閟wift只有一個(gè)文件不需要s.public_header_files
  #s.public_header_files = "Classes/*.h"
  s.source_files = "Classes/*.swift"
  s.framework    = "UIKit","Foundation"
  s.requires_arc = true
end

可以參考FanRefresh.podspecFanKit.podspec子文件夾配置

3.驗(yàn)證FanRefresh.podspec文件正確性

pod lib lint 驗(yàn)證比較嚴(yán)格颜说,或用 pod spec lint

如果出現(xiàn)錯(cuò)誤按照錯(cuò)誤提示修改购岗,直到終端出現(xiàn)驗(yàn)證通過(guò)

fanxiangyang@fanFan FanRefresh$pod lib lint

 -> FanRefresh (0.0.3)

FanRefresh passed validation.
fanxiangyang@fanFan FanRefresh$

3.提交代碼到git倉(cāng)庫(kù)

1.提交修改的代碼和配置到git

git add .
git commit -m "version 0.0.3"
git push origin master

2.打標(biāo)簽提交標(biāo)簽

git tag 0.0.3
git push --tags

3.其他標(biāo)簽命令(可選操作)

git tag   //查看標(biāo)簽
git tag 0.0.3  //把當(dāng)前代碼狀態(tài)打上標(biāo)簽  
git tag -d 0.0.3 //刪除本地標(biāo)簽  
git push origin —delete tag 0.0.3 //刪除遠(yuǎn)程標(biāo)簽

4.上傳到cocoapods倉(cāng)庫(kù)

1.首次上傳pod,注冊(cè)trunk

pod trunk register fqsyfan@gmail.com 'fanxiangyang'

驗(yàn)證郵件連接通過(guò)后门粪,查看信息

2.查看本機(jī)tunk信息

pod trunk me

3.提交到spec

pod trunk push FanRefresh.podspec

4.驗(yàn)證是否成功

//如果有該庫(kù)的信息說(shuō)明喊积,說(shuō)明上傳成功
pod trunk info FanRefresh

pod search FanRefresh  //pod 查詢庫(kù)

//如果查找不到,更新本地spec倉(cāng)庫(kù) 
pod setup  //或者下面的方法
pod repo update
//如果還是查不到:清空搜索緩存
rm ~/Library/Caches/CocoaPods/search_index.json  

5.trunk其他操作(可選)

  • pod trunk delete FanRefresh 0.0.3刪除遠(yuǎn)程提交的pod庫(kù)
  • Pull requests方式上傳的 舊庫(kù)認(rèn)領(lǐng)地址
  • $ pod trunk add-owner FanRefresh other@cocoapods.org 添加其他成為組件所有者

5.Like

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拟蜻,隨后出現(xiàn)的幾起案子绎签,更是在濱河造成了極大的恐慌,老刑警劉巖酝锅,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诡必,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡屈张,警方通過(guò)查閱死者的電腦和手機(jī)擒权,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)阁谆,“玉大人碳抄,你說(shuō)我怎么就攤上這事〕÷蹋” “怎么了剖效?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)焰盗。 經(jīng)常有香客問(wèn)我璧尸,道長(zhǎng),這世上最難降的妖魔是什么熬拒? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任爷光,我火速辦了婚禮,結(jié)果婚禮上澎粟,老公的妹妹穿的比我還像新娘蛀序。我一直安慰自己,他們只是感情好活烙,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布徐裸。 她就那樣靜靜地躺著,像睡著了一般啸盏。 火紅的嫁衣襯著肌膚如雪重贺。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音气笙,去河邊找鬼次企。 笑死,一個(gè)胖子當(dāng)著我的面吹牛健民,可吹牛的內(nèi)容都是我干的抒巢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼秉犹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蛉谜!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起崇堵,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤型诚,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后鸳劳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體狰贯,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年赏廓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涵紊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡幔摸,死狀恐怖摸柄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情既忆,我是刑警寧澤驱负,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站患雇,受9級(jí)特大地震影響跃脊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苛吱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一酪术、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧翠储,春花似錦绘雁、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)衰齐。三九已至任斋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背废酷。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工瘟檩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人澈蟆。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓墨辛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親趴俘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子睹簇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容