iOS組件化之私有Pods

image

前言

Cocoapods是非常好用的一個(gè)iOS依賴管理工具累驮,使用它可以方便的管理和更新項(xiàng)目中所使用到的第三方庫(kù)建炫,以及將自己的項(xiàng)目中的公共組件交由它去管理贷屎。

下面是結(jié)合GitHub來(lái)創(chuàng)建私有pods.

網(wǎng)上有很多資料,也寫得很好,自己整理了一下適合自己的思路.
要注意的就是如果項(xiàng)目中有其他同事共同開發(fā)的話贺氓,你還要給他這個(gè)Git倉(cāng)庫(kù)的權(quán)限叨襟。

準(zhǔn)備工作

作為一個(gè)iOS開發(fā),肯定環(huán)境是OK, 需要準(zhǔn)備好下面的環(huán)境:

  1. CocoaPods
  2. GitHub
  3. GitHub的兩個(gè)個(gè)私有庫(kù)地址(一個(gè)是用來(lái)podspec使用, 一個(gè)是用來(lái)存放源碼demo)

開始:

1.創(chuàng)建github私有倉(cāng)庫(kù)

image

2.創(chuàng)建私有Spec Repo

PrivatePodsSpecs名字一般都是和github上面的一致

# pod repo add [Private Repo Name] [GitHub HTTPS clone URL]
$ pod repo add PrivatePodsSpecs  https://github.com/lxiaokai/PrivatePodsSpecs.git

如果成功的話進(jìn)入到~/.cocoapods/repos目錄下就可以看到PrivatePodsSpecs這個(gè)目錄了。

image

3.創(chuàng)建Pod項(xiàng)目工程文件(選擇一個(gè)自己的路徑文件夾)

$ pod lib create DemoPods

執(zhí)行命令的時(shí)候會(huì)問一些小問題,自行抉擇

image

完成之后會(huì)在會(huì)創(chuàng)建下面的文件內(nèi)容:

image

備注:Classes放lib讥巡,資源文件放到Assets這個(gè)文件夾掀亩。

然后我在classes里面建立一個(gè) "ViewController.swift"文件,并且上傳到github

$ git add .
$ git commit -s -m "Initial Commit of Library"
$ git remote add origin https://github.com/lxiaokai/DemoPods.git           #添加遠(yuǎn)端倉(cāng)庫(kù)
$ git push origin master     #提交到遠(yuǎn)端倉(cāng)庫(kù)

因?yàn)閜odspec文件中獲取Git版本控制的項(xiàng)目還需要tag號(hào),所以我們要打上一個(gè)tag欢顷,

$ git tag -m "first release" 0.1.0
$ git push --tags     #推送tag到遠(yuǎn)端倉(cāng)庫(kù)

4.編輯DemoPods.podspec文件

image

字段說(shuō)明,僅供參考


s.name:名稱槽棍,pod search搜索的關(guān)鍵詞,注意這里一定要和.podspec的名稱一樣,否則報(bào)錯(cuò)
s.version:版本號(hào),to_s:返回一個(gè)字符串  就是我們項(xiàng)目中剛才打的tag
s.author:作者
s.homepage:項(xiàng)目主頁(yè)地址
s.summary: 項(xiàng)目簡(jiǎn)介
s.source:項(xiàng)目源碼所在地址
s.license:許可證
s.platform:項(xiàng)目支持平臺(tái)
s.requires_arc: 是否支持ARC
s.source_files:需要包含的源文件  這里最好放在spec的同級(jí)目錄抬驴,然后指定目錄下所有h和m文件
s.public_header_files:需要包含的頭文件
s.ios.deployment_target:支持的pod最低版本

其他一些非必要字段

s.social_media_url:社交網(wǎng)址
s.resources:資源文件
s.dependency:依賴庫(kù)炼七,不能依賴未發(fā)布的庫(kù)

編輯之后需要驗(yàn)證一下,查看是否有錯(cuò)誤信息,具體錯(cuò)誤會(huì)有提示,按照提示修改即可.

$ pod lib lint

雖然有警告,但是不影響

image

5.向Spec Repo提交podspec

向Spec Repo提交podspec需要完成兩點(diǎn)一個(gè)是podspec必須通過驗(yàn)證無(wú)誤,在一個(gè)就是刪掉無(wú)用的注釋(這個(gè)不是必須的布持,為了規(guī)范還是刪掉吧)豌拙。 向我們的私有Spec Repo提交podspec只需要一個(gè)命令

$ pod repo push PrivatePodsSpecs DemoPods.podspec --verbose --allow-warnings

前面的是podspecs, 后面的是需要上傳的名字(需要在DemoPods.podspec路徑下執(zhí)行)

錯(cuò)誤: 如果執(zhí)行這個(gè)命令的時(shí)候build success 但是 pull 失敗的時(shí)候,可以git上面建立一個(gè)readme文件或者建立倉(cāng)庫(kù)的時(shí)候勾選也可以

image

完成之后這個(gè)組件庫(kù)就添加到我們的私有Spec Repo中了,可以進(jìn)入到~/.cocoapods/repos/PrivatePodsSpecs目錄下查看, github上面也可以查看到

至此题暖,我們的這個(gè)組件庫(kù)就已經(jīng)制作添加完成了

6.測(cè)試使用

建立一個(gè)項(xiàng)目,pod一下就可以了

image

個(gè)人博客

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末按傅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胧卤,更是在濱河造成了極大的恐慌唯绍,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枝誊,死亡現(xiàn)場(chǎng)離奇詭異况芒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)叶撒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門绝骚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人祠够,你說(shuō)我怎么就攤上這事压汪。” “怎么了古瓤?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵蛾魄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)滴须,這世上最難降的妖魔是什么舌狗? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮扔水,結(jié)果婚禮上痛侍,老公的妹妹穿的比我還像新娘。我一直安慰自己魔市,他們只是感情好主届,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著待德,像睡著了一般君丁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上将宪,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天绘闷,我揣著相機(jī)與錄音,去河邊找鬼较坛。 笑死印蔗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丑勤。 我是一名探鬼主播华嘹,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼法竞!你這毒婦竟也來(lái)了耙厚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤岔霸,失蹤者是張志新(化名)和其女友劉穎薛躬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秉剑,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泛豪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年稠诲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侦鹏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡臀叙,死狀恐怖略水,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情劝萤,我是刑警寧澤渊涝,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響跨释,放射性物質(zhì)發(fā)生泄漏胸私。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一鳖谈、第九天 我趴在偏房一處隱蔽的房頂上張望岁疼。 院中可真熱鬧,春花似錦缆娃、人聲如沸捷绒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)暖侨。三九已至,卻和暖如春崇渗,著一層夾襖步出監(jiān)牢的瞬間字逗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工显押, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扳肛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓乘碑,卻偏偏與公主長(zhǎng)得像挖息,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兽肤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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