iOS-Cocoapods制作自己的共有庫茫叭、

【一】前言:

每個語言發(fā)展到一個階段,就會出現(xiàn)相應的依賴管理工具半等,或者說是中央代碼倉庫揍愁。

比如Java的Maven呐萨,Python的Pip。而CocoaPods就是一個iOS項目中的第三方開源代碼管理工具莽囤。

以前的問題:

1谬擦、使用一個第三方SDK,需要在工程里面添加一堆配置朽缎,少添加一步配置就會報一大堆錯誤惨远。這個時候為了排查少了哪一個步驟,只能從頭開始重做一遍话肖,太浪費時間和精力北秽。有些配置還不好配置,就更使人煩躁郁悶了最筒。

2贺氓、如果使用的第三方SDK有比較重要的更新,想使用最新的SDK只能到官方下載最新的SDK床蜘,重新導入到自己的項目工程中辙培。

3、如果公司有多個項目邢锯,每一個工程都這樣配置一遍扬蕊,這是多么痛苦的領悟呀。

它的優(yōu)勢:

1丹擎、集成第三方庫厨相,不用我們手動配置。

2鸥鹉、更新方便,一條命令搞定庶骄。

3毁渗、統(tǒng)一管理,簡單高效单刁,開發(fā)者集中精力于功能實現(xiàn)上灸异,不用關注 太多其他的東西。

4羔飞、方便組件化(建立在私有庫基礎上)

預備知識:

Cocoapods安裝和使用 和?GitHub的使用 這里無需多言肺樟≡谓玻基礎知識乘综,如果有疑問的可以自己百度處理。

【二】制作目錄:

先把大致流程要點總結一下:

1紊搪、GitHub創(chuàng)建共有庫

2卡儒、創(chuàng)建podspec文件

2.1田柔、配置podspec文件

3俐巴、本地庫驗證

4、推送打標簽

5硬爆、驗證podspec文件

6欣舵、注冊,推送podspec到cocoapods缀磕,搜索驗證

7缘圈、搜索驗證

【三】具體步驟:

1、GitHub創(chuàng)建共有庫

打開GitHub袜蚕,開始Create a new repository糟把。具體如圖:

創(chuàng)建完成之后,克隆到本地廷没,我這邊全程使用終端命令進行操作糊饱。打開終端,具體操作如下:?

?cd Desktop/

git clone git@github.com:wnkpzzz/CZTestLibDemo.git

2颠黎、創(chuàng)建podspec文件

經過上一個步驟另锋,我們已經把CZTestLibDemo克隆到桌面了。進入該文件夾狭归,創(chuàng)建podspec文件:

pod spec create CZTestLibDemo



2.1配置podspec文件

?找到CZTestLibDemo.podspec文件夭坪,選擇 文本編輯 進行打開。我們看到全是英文过椎,不要慌張室梅,且聽我一步一步解析。


它的意思其實就是:

1.你要使用哪個平臺疚宇?iOS

2.你要使用哪種語言亡鼠?

3.庫中是否包含一個實例程序?(一般選擇示例程序)

4.你要使用哪個測試框架敷待?(沒有就寫None)

5.是否要UI測試间涵?(我一直都是NO,沒有測試過)

6.類名前綴是什么榜揖?(這個我創(chuàng)建Swift庫的時候沒有這一項)


#開頭的都是注釋勾哩,我們先把它刪掉,下面是我整理出來的直接填寫好的举哟,完整版思劳。(文章最后有源代碼,可復制)


特別說明:在source_files這一點 s.source_files? = 'SourceFiles'

是因為有的同學可能會遇到下面的錯誤妨猩,怎么都無法解決:?ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.??

s.source_files? 是存放庫資源文件的潜叛。這里指向SourceFiles文件夾,里面隨便放入一個OC類即可壶硅。


特別提醒: 還需創(chuàng)建一個LICENSE文件钠导,做版權聲明的震嫉。? ? (文章最后有源代碼,可復制)這樣完整的結構如下圖:


3牡属、本地庫驗證

通過終端票堵,在CZTestLibDemo文件夾里面執(zhí)行下面命令:

pod lib lint CZTestLibDemo.podspec

如果有警告(WARN),需要根據(jù)提示內容解決警告逮栅,忽略警告?

pod lib lint CZTestLibDemo.podspec --allow-warnings

執(zhí)行成功會提示:?CZTestLibDemo passed validation?

4悴势、推送打標簽

通過終端,在CZTestLibDemo文件夾里面執(zhí)行下面命令:

git add .

git commit -m "1.0"

git push

git tag -m? 'release version 1.0.0'? 1.0.0

git push origin 1.0.0

5措伐、驗證podspec文件

通過終端特纤,在CZTestLibDemo文件夾里面執(zhí)行下面命令:

pod spec lint CZTestLibDemo.podspec

6、注冊侥加,推送podspec到cocoapods捧存,驗證

通過終端,在CZTestLibDemo文件夾里面執(zhí)行下面命令:

pod trunk register [email] ‘用戶名’ --description='描述担败,可不填'

example

pod trunk register 123@qq.com 'wnkpzzz' --description='MacBook Pro'

之后會給你發(fā)送一條郵箱昔穴,進行確認,這里的--description='MacBook Pro'可以省略提前,復制郵箱的鏈接吗货,在瀏覽器打開如下圖:


查看個人信息。通過終端狈网,執(zhí)行下面命令:

pod trunk me


推送podspec到Cocoapods??

通過終端宙搬,在CZTestLibDemo文件夾里面執(zhí)行下面命令:

pod trunk push? CZTestLibDemo.podspec

推送成功之后,終端輸出如下

7拓哺、搜索驗證

pod search CZTestLibDemo

如果發(fā)現(xiàn)搜索不到出現(xiàn)如下提示:

[!] Unable to find a pod with name, author, summary, or description matching `CZTestLibDemo`

解決方法:

//刪除本地索引

rm ~/Library/Caches/CocoaPods/search_index.json

//搜索

?pod search [庫名]

//更新索引

pod repo update?




GitHub源碼:點擊跳轉下載


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末勇垛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子士鸥,更是在濱河造成了極大的恐慌窥摄,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件础淤,死亡現(xiàn)場離奇詭異,居然都是意外死亡哨苛,警方通過查閱死者的電腦和手機鸽凶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來建峭,“玉大人玻侥,你說我怎么就攤上這事∫谡簦” “怎么了凑兰?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵掌桩,是天一觀的道長。 經常有香客問我姑食,道長波岛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任音半,我火速辦了婚禮则拷,結果婚禮上,老公的妹妹穿的比我還像新娘曹鸠。我一直安慰自己煌茬,他們只是感情好,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布彻桃。 她就那樣靜靜地躺著坛善,像睡著了一般。 火紅的嫁衣襯著肌膚如雪邻眷。 梳的紋絲不亂的頭發(fā)上眠屎,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音耗溜,去河邊找鬼组力。 笑死,一個胖子當著我的面吹牛抖拴,可吹牛的內容都是我干的燎字。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼阿宅,長吁一口氣:“原來是場噩夢啊……” “哼候衍!你這毒婦竟也來了?” 一聲冷哼從身側響起洒放,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛉鹿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后往湿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妖异,經...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年领追,在試婚紗的時候發(fā)現(xiàn)自己被綠了他膳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡绒窑,死狀恐怖棕孙,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤蟀俊,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布钦铺,位于F島的核電站,受9級特大地震影響肢预,放射性物質發(fā)生泄漏矛洞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一误甚、第九天 我趴在偏房一處隱蔽的房頂上張望缚甩。 院中可真熱鬧,春花似錦窑邦、人聲如沸擅威。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽郊丛。三九已至,卻和暖如春瞧筛,著一層夾襖步出監(jiān)牢的瞬間厉熟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工较幌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留揍瑟,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓乍炉,卻偏偏與公主長得像绢片,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子岛琼,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內容