CocoaPods之公有倉(cāng)庫(kù)的創(chuàng)建

目錄

Cocoapods之安裝及使用
CocoaPods之公有倉(cāng)庫(kù)的創(chuàng)建

一统舀、創(chuàng)建GitHub倉(cāng)庫(kù)
二觅够、注冊(cè)CocoaPods賬號(hào)
三态蒂、創(chuàng)建 .podspec文件
四堰汉、 配置編輯.podspec文件
五辽社、提交框架庫(kù)索引到CocoaPods

一、注冊(cè)GIthub賬號(hào)翘鸭,提交代碼到GitHub倉(cāng)庫(kù)滴铅,就以我封裝的原生二維碼掃描工具類WSLNativeScanTool為例,文件目錄如下圖就乓,讓它支持CocoaPods:

GitHub倉(cāng)庫(kù)目錄

二汉匙、注冊(cè)CocoaPods賬號(hào):

  • 用終端命令行注冊(cè)CocoaPods賬號(hào),有賬號(hào)的話也跳不過(guò)這一步??生蚁,因?yàn)樗馁~號(hào)沒(méi)有類似登陸的機(jī)制噩翠,所以在你切換設(shè)備后,需要再次使用如下的注冊(cè)命令進(jìn)行“登陸”操作邦投;如果還沒(méi)安裝CocoaPods伤锚,先看一下我的另一篇文章Cocoapods的安裝及使用
//注冊(cè)cocoapods維護(hù)者信息志衣,郵箱123456@163.com 和 用戶名WSL屯援,注冊(cè)之后郵箱會(huì)收到一封確認(rèn)郵件,打開(kāi)郵件點(diǎn)擊確認(rèn)鏈接念脯,完成注冊(cè)狞洋。
pod trunk register 123456@163.com  'WSL'    或 
pod trunk register 123456@163.com  'WSL'  --description='設(shè)備信息' 
//查看自己的注冊(cè)信息 
pod trunk me  
//如果多人維護(hù)pod 可以添加其他維護(hù)者
pod trunk add-owner name 789@163.com
注冊(cè)CocoaPods賬號(hào)終端命令行.png

三、創(chuàng)建 .podspec文件

關(guān)于Podsepc文件:在所有支持Cocoapods導(dǎo)入的庫(kù)的開(kāi)源目錄(如Github)下和二,我們都能看到一個(gè)*.podspec文件徘铝。當(dāng)然我們不管是做公有庫(kù)或者是私有庫(kù)都是必須配置這個(gè)文件的耳胎。這個(gè)文件是告訴Cocoapods你這個(gè)庫(kù)的一些基本信息惯吕,包括你的版本號(hào)惕它、獲取的地址、那些文件是希望被包含進(jìn)來(lái)的等一些信息废登。
這個(gè)文件是在你新建或者需要新提交一個(gè)版本的時(shí)候回進(jìn)行改動(dòng)的文件淹魄。
.podspec要放在clone到本地的git倉(cāng)庫(kù)的根目錄下面,并提交到Github的堡距。

第一種方式:適用于那些已經(jīng)創(chuàng)建好項(xiàng)目的情況甲锡,只需要在你的管理目錄下生成一個(gè)podspec文件。
  • cd 到管理目錄下, 在管理目錄下運(yùn)行如下命令羽戒,創(chuàng)建生成WSLNativeScanTool.podspec文件 缤沦, WSLNativeScanTool為工程名,
pod spec create WSLNativeScanTool    //創(chuàng)建生成WSLNativeScanTool.podspec文件
創(chuàng)建 .podspec文件

第二種方式:適用于連項(xiàng)目都沒(méi)有創(chuàng)建的情況,Cocoapods還提供了如下命令:
pod lib create WSLSDK  //WSLSDK項(xiàng)目名稱

通過(guò)這條命令會(huì)創(chuàng)建好一個(gè)項(xiàng)目,在執(zhí)行這個(gè)項(xiàng)目的過(guò)程中易稠,根據(jù)命令行的引導(dǎo),你會(huì)創(chuàng)建好一個(gè)Cocoapdos定義好的一個(gè)項(xiàng)目模板缸废。如果對(duì)于剛開(kāi)始創(chuàng)建項(xiàng)目的小伙伴們來(lái)說(shuō),或許這個(gè)是一個(gè)不錯(cuò)的選擇驶社。通過(guò)這個(gè)命令Cocoapods會(huì)給你創(chuàng)建好,Podspec文件企量,travis文件,MIT Lisence文件以及README.md文件等。這些項(xiàng)目文件也是要提交到Github上的亡电。

屏幕快照 2018-03-16 下午3.47.35.png
屏幕快照 2018-03-16 下午3.51.15.png

四届巩、 配置編輯.podspec文件

這里介紹兩種編輯.podspec文件的方式:

  • 第一種方式:終端命令行
vim WSLNativeScanTool.podspec

首先cd 到WSLNativeScanTool.podspec 所在目錄下,執(zhí)行vim WSLNativeScanTool.podspec 編輯命令份乒,然后點(diǎn)擊鍵盤(pán)上的" i "進(jìn)入編輯模式恕汇,編輯完畢之后首先點(diǎn)擊"esc",然后按Esc或辖,并且輸入“ : ”號(hào)進(jìn)入vim命令模式拇勃,然后輸入wq,回車后編輯結(jié)束孝凌。

編輯結(jié)束之后的命令行.png
編輯過(guò)程中 — 輸入" i "后進(jìn)入的編輯界面.png

  • 第二種方式:文本編輯工具

直接用文本編輯工具打開(kāi)WSLNativeScanTool.podspec進(jìn)行編輯

文本編輯WSLNativeScanTool.podspec

  • 編輯內(nèi)容之前方咆,你需要在Github上創(chuàng)建release版本的代碼:
在Github上創(chuàng)建release版本

點(diǎn)進(jìn)去之后步驟很簡(jiǎn)單,填上版本號(hào)蟀架,標(biāo)題和簡(jiǎn)單的描述即可瓣赂,需要注意的是版本號(hào)需要與你的podspec文件中的s.version 相同。

編輯的內(nèi)容片拍,配置參數(shù)信息如下:

Pod::Spec.new do |spec|
   spec.name         = "WSLNativeScanTool"
   spec.version      = "1.0"
   spec.summary      = "iOS 封裝原生二維碼掃描和生成."
   spec.homepage     = "https://github.com/wsl2ls/ScanQRcode"
   spec.license      = { :type => "MIT", :file => 'README.md' }
   spec.author       = { "PlutoY" => "15324956576@163.com" }
   spec.platform     = :ios, "8.0"
   spec.source       = { :git => "https://github.com/wsl2ls/ScanQRcode.git", :tag => "v#{spec.version}" }
   spec.frameworks   = 'UIKit'
   spec.source_files  = "WSLNativeScanTool", "WSLNativeScanTool/**/*.{h,m}"
   spec.requires_arc = true
end
//參數(shù)意義依次是 :Cocoapods上的名字煌集、版本號(hào),簡(jiǎn)介捌省、主頁(yè)苫纤、License、作者信息、最低平臺(tái)信息卷拘、從哪個(gè)Git上下載喊废、需要引入的framework、那些文件需要被引入栗弟,那些文件是資源文件以及是否需要ARC的模式污筷。

s.name pods名稱
s.version 版本號(hào) 此版本號(hào)需要與github中tag的內(nèi)容一致
s.summary 簡(jiǎn)短說(shuō)明
s.homepage github工程的鏈接地址
s.source github工程的地址追加.git
“ * ” 表示匹配所有文件
“ * .{h,m}” 表示匹配所有以.h和.m結(jié)尾的文件
“**” 表示匹配所有子目錄
查看完整參數(shù) http://guides.cocoapods.org/syntax/podspec.html

  • 編輯配置完成后,不要著急乍赫,我們先驗(yàn)證自己的GOVAVPlayer.podspec文件格式的有效性瓣蛀,如果這里不通過(guò),就沒(méi)必要上傳了雷厂。
//在上傳CocoaPods之前惋增,驗(yàn)證WSLNativeScanTool.podspec文件格式的有效性, --allow-warnings 為忽略警告的意思
pod spec lint  --allow-warnings  //本地和遠(yuǎn)程庫(kù)同時(shí)檢索) 
或
pod lib lint WSLNativeScanTool.podspec --allow-warnings  //檢索本地索引文件
驗(yàn)證WSLNativeScanTool.podspec文件格式的有效性

五、提交框架庫(kù)索引到CocoaPods

驗(yàn)證WSLNativeScanTool.podspec文件格式的有效性成功時(shí)改鲫,執(zhí)行如下命令上傳代碼到CocoaPods:

//上傳代碼到CocoaPods  需要等待一段時(shí)間
pod trunk push WSLNativeScanTool.podspec --allow-warnings

這里 "--allow-warnings"器腋,也是忽略警告的意思,如果不加該關(guān)鍵字的話钩杰,如果在執(zhí)行"pod spec lint"時(shí)候報(bào)出了警告纫塌,那么在這里上傳代碼到CocoaPods時(shí)就會(huì)報(bào)錯(cuò)。

提交框架代碼到CocoaPods

說(shuō)明發(fā)布成功讲弄,你就可以通過(guò)上面的URL: https://cocoapods.org/pods/WSLNativeScanTool 進(jìn)入的Pods查看自己的倉(cāng)庫(kù)信息了. 也可以執(zhí)行 $ pod search WSLNativeScanTool 命令查詢庫(kù)信息措左。

注意:發(fā)布到Cocoapods后,需要在終端更新本地pods倉(cāng)庫(kù)信息:$ pod setup


參考文獻(xiàn):
http://blog.csdn.net/youtk21ai/article/details/50750300
http://qiubaiying.top/2017/03/08/CocoaPods公有倉(cāng)庫(kù)的創(chuàng)建/
https://blog.csdn.net/zhaojinqiang12/article/details/80211057#t0
https://blog.csdn.net/sdefzhpk/article/details/69389584

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末避除,一起剝皮案震驚了整個(gè)濱河市怎披,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瓶摆,老刑警劉巖凉逛,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異群井,居然都是意外死亡状飞,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)书斜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)诬辈,“玉大人,你說(shuō)我怎么就攤上這事荐吉”涸悖” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵样屠,是天一觀的道長(zhǎng)穿撮。 經(jīng)常有香客問(wèn)我缺脉,道長(zhǎng),這世上最難降的妖魔是什么悦穿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任攻礼,我火速辦了婚禮,結(jié)果婚禮上咧党,老公的妹妹穿的比我還像新娘秘蛔。我一直安慰自己陨亡,他們只是感情好傍衡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著负蠕,像睡著了一般蛙埂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遮糖,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天绣的,我揣著相機(jī)與錄音,去河邊找鬼欲账。 笑死屡江,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赛不。 我是一名探鬼主播惩嘉,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼踢故!你這毒婦竟也來(lái)了文黎?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤殿较,失蹤者是張志新(化名)和其女友劉穎耸峭,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體淋纲,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡劳闹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洽瞬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玷或。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖片任,靈堂內(nèi)的尸體忽然破棺而出偏友,到底是詐尸還是另有隱情,我是刑警寧澤对供,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布位他,位于F島的核電站氛濒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鹅髓。R本人自食惡果不足惜舞竿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窿冯。 院中可真熱鬧骗奖,春花似錦、人聲如沸醒串。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)芜赌。三九已至仰挣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缠沈,已是汗流浹背膘壶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留洲愤,地道東北人颓芭。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像柬赐,于是被迫代替她去往敵國(guó)和親亡问。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

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