發(fā)布自己的庫(kù)到CocoaPods

本文主要介紹如何自己寫(xiě)一個(gè)pod钢属,然后注冊(cè)到CocoaPods上徘熔,并將代碼放到Github上供別人下載鳍怨。這基本上是任何一個(gè)pod的“標(biāo)準(zhǔn)”上架流程齿穗。當(dāng)然你也可以將pod放到其他的git平臺(tái)上涉波。

1> 注冊(cè)trunk賬號(hào)

pod trunk register 您的github郵箱'github的用戶名' --verbose

第一次嘗試的時(shí)候可能會(huì)報(bào)如下錯(cuò)誤:

[!] There was an error registering with trunk: getaddrinfo: nodename nor servname provided, or not known

可以修改DNS來(lái)解決這個(gè)問(wèn)題

1、打開(kāi)



2祟峦、點(diǎn)擊網(wǎng)絡(luò)

3罚斗、高級(jí)

4、DNS? 雙擊DNS服務(wù)器進(jìn)行修改(不要修改太大了例如:223.6.6.6 -> 223.6.6.7)? -> 點(diǎn)擊好 ->應(yīng)用


5宅楞、終端執(zhí)行命令?

?pod trunk register 您的github郵箱 'github的用戶名' --verbose

注冊(cè)成功之后會(huì)有如下提示:

[!] Please verify the session by clicking the link in the verification email that has been sent to qcl901028@gmail.com

并向您的郵箱發(fā)送一個(gè)郵件點(diǎn)擊里面的鏈接激活就可以了

查看個(gè)人信息

pod trunk me

2> 添加podspec描述文件


這個(gè)文件是為了讓CocoaPods搜索引擎知道代碼作者针姿、名稱(chēng)、版本號(hào)厌衙、源代碼地址距淫、依賴(lài)庫(kù)等等信息。下面是官方的信息文件的例子(你也可以去下面cocoapods的官方網(wǎng)站去查看?http://guides.cocoapods.org?):

1.創(chuàng)建podSpec文件主要用到pod lib工具:

手動(dòng)創(chuàng)建podSpec文件婶希,your_pod_spec_name 最好和你的庫(kù)的名字一樣

pod spec create your_pod_spec_name

這個(gè)時(shí)候會(huì)生成一個(gè)文件到本地? your_pod_spec_name.podspec 你可以用記事本打開(kāi)這個(gè)文件(文件位置在你終端操作的目錄下面)如下圖:

命令目錄
.podspec文件位置

找到文件之后榕暇,用記事本打開(kāi)(當(dāng)然你也可以裝逼的用vim + 文件名的方式打開(kāi),然后按1000dd來(lái)清楚內(nèi)容 ?呃呃呃喻杈。彤枢。。不知道有沒(méi)有命令可以刪除全部?jī)?nèi)容 每次清除的時(shí)候都是清除10000行筒饰,來(lái)達(dá)到全部清清空的效果) ,然后全選刪除缴啡。?

小小都比一下 我們來(lái)看看我們偉大的杰哥是怎么寫(xiě)這個(gè)文件的

?地址:MJRefresh.podspec

Pod::Spec.new do |s|

s.name? ? ? ? = 'MJRefresh'

s.version? ? ? = '3.1.12'

s.summary? ? ? = 'An easy way to use pull-to-refresh'

s.homepage? ? = 'https://github.com/CoderMJLee/MJRefresh'

s.license? ? ? = 'MIT'

s.authors? ? ? = {'MJ Lee' => '199109106@qq.com'}

s.platform? ? = :ios, '6.0'

s.source? ? ? = {:git => 'https://github.com/CoderMJLee/MJRefresh.git', :tag => s.version}

s.source_files = 'MJRefresh/**/*.{h,m}'

s.resource? ? = 'MJRefresh/MJRefresh.bundle'

s.requires_arc = true

end


s.name ?庫(kù)名 ?就是將來(lái)你要導(dǎo)入文件時(shí)候的名字 ?如:pod MJRefresh

s.version 庫(kù)的版本號(hào) ?杰哥已經(jīng)更新到3.1.12

s.summary ?總結(jié) ?寫(xiě)自己項(xiàng)目的用途的

s.homepage 你的庫(kù)的首頁(yè)地址? 不明白可以自行打開(kāi)github MJRefresh 看項(xiàng)目結(jié)構(gòu)

s.license? ? ? = 'MIT' ?這樣寫(xiě)就行了 ?這個(gè)是一個(gè)許可證 。不知道有啥作用

s.authors? ? ? = {'用戶名' => 'github郵箱地址'}

s.platform? ? = :ios, '你的庫(kù)最低支持的版本'

s.source? ? ? = {:git => '項(xiàng)目首頁(yè)地址/庫(kù)名.git', :tag => s.version}

s.source_files = 'MJRefresh/**/*.{h,m}' 這個(gè)是你的庫(kù)文件夾路徑 ?這個(gè)表示的是MJRefresh文件夾下的所有.h.m文件 ?

s.resource? ? = 'MJRefresh/MJRefresh.bundle' ?圖片或者一些資源文件的位置路徑

s.requires_arc = true ?是不是arc

當(dāng)然這些只是一些常用的 (⊙o⊙)…? 暫且稱(chēng)他為參數(shù)吧 (我真不知道這是個(gè)什么鳥(niǎo)東西瓷们,不知道怎么去稱(chēng)呼他s.name )业栅。如果需要更多信息 ?用AF 或者sd 一類(lèi)的第三方去查看寫(xiě)的什么

額 ,好吧 换棚!廢話過(guò)多式镐。反镇。固蚤。

2. 驗(yàn)證podSpec文件是否正確。

pod lib lint?

3.增加git 版本 ??

1歹茶、git add -A

2夕玩、git commit -m "first commit for version 1.0.0"

3、git push origin master

1惊豺、當(dāng)然燎孟,你也可以使用SourceTree等GUI形式的Git客戶端進(jìn)行代碼的推送操作。

2尸昧、確保你所push的代碼已經(jīng)打上"version tag"揩页,也就是給源代碼打上版本號(hào)標(biāo)簽:

4、git tag '1.0.0'

5烹俗、git push --tags

3爆侣、需要注意的是? 版本最好和podspec文件中的版本保持一致

4. 用trunk推送podspec文件

確保podspec文件已校驗(yàn)通過(guò)之后萍程,用以下命令將該podspec文件上傳至trunk? (your_pod_spec_name.podspec)這個(gè)是你自己創(chuàng)建的podspec文件

pod trunk push your_pod_spec_name.podspec

成功之后,就pod Search + 你的庫(kù)名 ?看看是不是很驚喜 ?擁有了自己的項(xiàng)目

參考:

1兔仰、CocoaPods官方教程

2茫负、用CocoaPods做iOS程序的依賴(lài)管理

3、讓代碼支持Cocoapods?

4乎赴、iOS:手把手教你發(fā)布代碼到CocoaPods(Trunk方式)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末忍法,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子榕吼,更是在濱河造成了極大的恐慌饿序,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羹蚣,死亡現(xiàn)場(chǎng)離奇詭異嗤堰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)度宦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)踢匣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人戈抄,你說(shuō)我怎么就攤上這事离唬。” “怎么了划鸽?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵输莺,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我裸诽,道長(zhǎng)嫂用,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任丈冬,我火速辦了婚禮嘱函,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘埂蕊。我一直安慰自己往弓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布蓄氧。 她就那樣靜靜地躺著函似,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喉童。 梳的紋絲不亂的頭發(fā)上撇寞,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼蔑担。 笑死露氮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钟沛。 我是一名探鬼主播畔规,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼恨统!你這毒婦竟也來(lái)了叁扫?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤畜埋,失蹤者是張志新(化名)和其女友劉穎莫绣,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體悠鞍,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡对室,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咖祭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掩宜。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖么翰,靈堂內(nèi)的尸體忽然破棺而出牺汤,到底是詐尸還是另有隱情,我是刑警寧澤浩嫌,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布檐迟,位于F島的核電站,受9級(jí)特大地震影響码耐,放射性物質(zhì)發(fā)生泄漏追迟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一骚腥、第九天 我趴在偏房一處隱蔽的房頂上張望敦间。 院中可真熱鬧,春花似錦桦沉、人聲如沸每瞒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至代芜,卻和暖如春埠褪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工钞速, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贷掖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓渴语,卻偏偏與公主長(zhǎng)得像苹威,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子驾凶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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