如何制作你的Cocoapod庫

說明

這里說的完全是從實用的角度出發(fā)的灌旧,首先是能用策添,但是不做原因的追究剧蚣。這個會在以后的文章中研究學(xué)習(xí),這個非常符合我本人的學(xué)習(xí)路線——先看效果再探究其原因档址。關(guān)于自制Cocoapod庫網(wǎng)上有人已經(jīng)寫了很多文章,我并不是在效仿贰拿,我只是在寫我自己的心得體會而已赐写。以下說的全都是順序的步驟。

github工程

很簡單乘粒,你是你的源代碼所在的工程豌注。這還用說嗎?還是說一說吧灯萍,免得被忽略了轧铁,我知道你潛意識里是知道的,所以這里提的并不多旦棉。

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

這個文件的專業(yè)名詞叫啥玩意齿风,我沒去研究,但是從使用的角度來講他爸,它就是個配置文件聂宾。如何創(chuàng)建呢?很簡單诊笤,先cd到你的github目錄下系谐,然后執(zhí)行pod spec create [項目名字]命令,它就會在當(dāng)前目錄下生成一個[項目名字].podspec文件讨跟。

如何配置XXX.podspec文件

這里面其實沒啥玩意纪他,大部分都是注釋,或者可以說成是備選項晾匠,在這里只說說關(guān)鍵的部分茶袒。下面我準備結(jié)合圖片來說明。

  1. s.name:就是這個庫的名字凉馆,就是下圖這個薪寓。


  2. s.version:就是這個庫的版本號亡资,也就是下面這個。


  3. s.summary:這個用來說明該庫的介紹向叉,是下面這個锥腻。


  4. s.description:這個我還不清楚是干啥的,不過這個是必填的母谎。你需要在<<-DESC瘦黑,DESC之間填入描述性文字。
  5. s.homepage:這個就是你的項目的github地址奇唤。
  6. s.license:許可證幸斥,這個是必須的,一般來說正規(guī)點的都是用一個文件型的許可證咬扇,好像還是需要申請的甲葬。但是如果你想自己申請,其實可以不用費勁懈贺,直接把許可證賦值為MIT演顾,于是變成了s.license = "MIT"。
  7. s.author:作者隅居,沒錯了,就是你啦葛虐,那么如何證明你是你呢胎源?你需要提供你的昵稱和郵箱。舉個例子{ "非主流程序員" => "13207533103@163.com" }屿脐,哈哈這個其實就是我啦涕蚤。
  8. s.platform:就是對于iOS系統(tǒng)版本的兼容性,這里應(yīng)該填的是兼容的最低iOS版本號的诵,我填的值是s.platform = :ios, "10.0"万栅。
  9. s.source:源代碼所在地址,我填的值是{ :git => "https://github.com/AbnormalProgrammer/BackForward.git", :tag => "#{s.version}" }西疤。由于s.version是前面設(shè)定好的烦粒,所以在這里直接使用就好了。
  10. s.source_files:這個是你寫的代碼的實質(zhì)所在代赁,一般來說你是要在github目錄中建立一個單獨的文件夾扰她,并在里面放入你的源代碼文件。這個直接使用它自帶的默認值就行芭碍,即"Classes", "Classes/*/.{h,m}"徒役。這個好像是說,這個文件夾叫做Classes窖壕,后面的應(yīng)該該文件夾中.h和.m文件忧勿,里面的都是通配符杉女。

驗證XXX.podspec文件的正確性

輸入pod lib lint StromanBackForward.podspec --allow-warnings命令即可。如果出現(xiàn)了錯誤自然就通不過嘛鸳吸,但是如果是警告那種熏挎,并且還是針對于語言本身沒有錯,但是pod不認賬的那種警告层释,如果遇到這種情況通不過婆瓜,那就有點太冤了,于是要添加--allow-warnings免得麻煩贡羔。

提交代碼

你需要把github下面的源代碼準備好廉白,主要有供別人學(xué)習(xí)你的這個玩意如何使用的demo,源代碼所在文件夾以及說明性的readme.md即可乖寒。在提交以后猴蹂,你需要在本次提交上面打tag,然后需要把這個tag推送到遠程對應(yīng)分支上面楣嘁,把tag推送到遠端這個事情一定要做磅轻,不然pod會認為你是在新分支上面發(fā)布。另外逐虚,這個tag最好跟版本號是一樣的聋溜,這樣github上面tag就代表了你的庫的版本號。

在pod中添加你的庫

pod其實也是一個庫叭爱,pod一開始是沒有你的庫的撮躁,所以你需要在pod庫中把你的庫添加進去。使用的命令是pod repo add StromanBackForward https://github.com/AbnormalProgrammer/BackForward master买雾,不過在這里我用的是我自己的倉庫把曼。這個也是只有在新建立pod庫的時候才需要做。

把你的庫推送到pod中去

這個沒啥好解釋的漓穿,這就跟你創(chuàng)建了一個github倉庫嗤军,然后再把自己的代碼推送到遠程分支上一樣。所用的命令就是pod repo push StromanBackForward StromanBackForward.podspec --allow-warnings晃危,這里面有需要--allow-warnings叙赚,否則會因為警告導(dǎo)致失敗。
這一步成功以后山害,你就可以通過pod search命令找到你的庫了纠俭。但是此時你并不能像正常的庫一樣去pod install或者pod update。
這一步需要訪問你的私賬倉庫浪慌,而現(xiàn)在一般使用token作為密碼冤荆,假如你忘了你已經(jīng)在使用token作為密碼,而仍然嘗試使用原來的密碼的話权纤,就會出現(xiàn)賬戶名密碼不匹配的錯誤钓简。值得注意的是這里輸入的應(yīng)該是賬戶名乌妒,而不是賬號。

擁有trunk賬號外邓。

在這一步Cocoapods需要訪問你的私人倉庫撤蚊,現(xiàn)在都是用token作為密碼的,有的時候可能導(dǎo)致訪問失敗损话,原因是賬戶名和密碼不匹配侦啸,可能是因為你忘記了已經(jīng)使用了token作為密碼導(dǎo)致的。

這個trunk具體應(yīng)該怎么翻譯丧枪?我也不知道光涂,不過從實用角度叫它像是一個上傳代碼接口。pod的用法是要使用庫隨便用拧烦,只要你知道方法忘闻,但是你要上傳自己的庫就必須要有一個賬戶。首先是要sudo gem install cocoapods一下恋博,如果你遇到/usr/bin寫權(quán)限失敗的話就換成sudo gem install -n /usr/local/bin cocoapods命令齐佳,如果是由于網(wǎng)絡(luò)原因?qū)е碌氖。悄氵€是翻墻吧债沮。如果你沒有trunk賬戶炼吴,則需要注冊一個,實例就是pod trunk register [郵箱] [昵稱]疫衩,然后Cocoapod就會向你注冊的郵箱發(fā)送一封激活郵件缺厉,激活以后就可以使用pod trunk me命令,開啟你注冊的這個賬戶隧土。

通過trunk推送庫

可以通過pod trunk push [xxx.podspec的路徑] --allow-warnings把庫推送到pod repo中去,這里面也要使用--allow-warnings來避免因為警告導(dǎo)致失敗命爬。這一步成功以后曹傀,恭喜你的你的庫就可以像AFNetWorking之類的庫一樣通過pod安裝了。

為什么在別的電腦上搜不到自己的庫饲宛?

因為pod在本地維持了一個庫的緩存皆愉,你在本地提交的庫就已經(jīng)被緩存到本地了。但是你在別的電腦去搜索的話艇抠, 人家的緩存里面是沒有你的庫的幕庐,所以會出現(xiàn)Unable to find a pod with name, author, summary, or description matching XXX的提示。所以你只需要更新一下這臺電腦上的pod緩存即可家淤,方法是先rm -rf ~/Library/Caches/Cocoapods刪除本地pod緩存异剥,然后再搜索,pod會自動建立新的緩存絮重,成功以后你就能在這臺電腦上搜索到你自己的庫了冤寿。如果發(fā)現(xiàn)你剛剛更新的pod沒有被search出來歹苦,那就執(zhí)行pod repo update,然后再次search就可以看到了督怜。

我對Cocoapods倉庫的理解

Cocoapods倉庫

下一篇:如何更新Cocoapod并用framework制作Cocoapod庫

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末殴瘦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子号杠,更是在濱河造成了極大的恐慌蚪腋,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姨蟋,死亡現(xiàn)場離奇詭異屉凯,居然都是意外死亡,警方通過查閱死者的電腦和手機芬探,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門神得,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人偷仿,你說我怎么就攤上這事哩簿。” “怎么了酝静?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵节榜,是天一觀的道長。 經(jīng)常有香客問我别智,道長宗苍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任薄榛,我火速辦了婚禮讳窟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敞恋。我一直安慰自己丽啡,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布硬猫。 她就那樣靜靜地躺著补箍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪啸蜜。 梳的紋絲不亂的頭發(fā)上坑雅,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音衬横,去河邊找鬼裹粤。 笑死,一個胖子當(dāng)著我的面吹牛蜂林,可吹牛的內(nèi)容都是我干的蛹尝。 我是一名探鬼主播后豫,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼突那!你這毒婦竟也來了挫酿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤愕难,失蹤者是張志新(化名)和其女友劉穎早龟,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猫缭,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡葱弟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了猜丹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芝加。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖射窒,靈堂內(nèi)的尸體忽然破棺而出藏杖,到底是詐尸還是另有隱情,我是刑警寧澤脉顿,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布蝌麸,位于F島的核電站,受9級特大地震影響艾疟,放射性物質(zhì)發(fā)生泄漏来吩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一蔽莱、第九天 我趴在偏房一處隱蔽的房頂上張望弟疆。 院中可真熱鬧,春花似錦盗冷、人聲如沸兽间。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恤溶,卻和暖如春乓诽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咒程。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工鸠天, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人帐姻。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓稠集,卻偏偏與公主長得像奶段,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子剥纷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,689評論 2 354