iOS開發(fā) - CocoaPods遠(yuǎn)程私有庫從0到1

1.?創(chuàng)建主工程?

路徑:/Users/Funky/Desktop/CocoaPodRemoteLib/MyMainProject/MyMainProject.xcodeproj

2.?在碼云(http://git.oschina.net/)上創(chuàng)建一個(gè)自己的遠(yuǎn)程私有索引庫蓬痒,用來存放私有框架的詳細(xì)描述信息.podspec文件?


3.?創(chuàng)建本地的私有索引庫文件夾狱掂,并與遠(yuǎn)程私有索引庫進(jìn)行關(guān)聯(lián)

3.1 $ pod repo(查看本地已存在的索引庫)

master

- Type: git (master)

- URL:? https://github.com/CocoaPods/Specs.git

- Path: /Users/Funky/.cocoapods/repos/master

3.2 添加本地私有索引庫并與遠(yuǎn)程私有庫

$ pod repo add MyProjectSpec https://git.oschina.net/funky_hs/myprojectspec.git

3.3 再次查看本地已存在的索引庫 $ pod repo

4?在代碼托管平臺(tái)碼云(http://git.oschina.net/)創(chuàng)建一個(gè)用來存放項(xiàng)目基礎(chǔ)組件的倉庫MyProjectBase?


5?快速創(chuàng)建模板測(cè)試工程(測(cè)試基礎(chǔ)組件)

5.1 快速創(chuàng)建模板測(cè)試工程 在/Users/Funky/Desktop/CocoaPodRemoteLib路徑下

cd /Users/Funky/Desktop/CocoaPodRemoteLib

$ pod lib create MyProjectBase (快速創(chuàng)建)?


5.2 填寫以上信息后Xcode會(huì)自動(dòng)打開測(cè)試工程器虾,在測(cè)試模板工程文件夾下兆沙,我們可以看到如下:



5.3 用Category去替換Replace.m文件葛圃,在回到Example路徑下库正,重新執(zhí)行pod install操作

$ cd /Users/Funky/Desktop/CocoaPodRemoteLib/MyProjectBase/Example?

$ pod install

此時(shí)打開模板測(cè)試工程诀诊,我們可以看到Pods > Development Pods > MyProjectBase > MyProjectBase > Classes > Category > (.h .m)

我們可以在模板測(cè)試工程中進(jìn)行修改和操作属瓣!


6?將上面的模板測(cè)試工程抡蛙,提交到第四步創(chuàng)建的遠(yuǎn)程代碼倉庫

$ cd /Users/Funky/Desktop/CocoaPodRemoteLib/MyProjectBase?

$ git status

$ git add .

$ git commit -m'基礎(chǔ)組件測(cè)試工程'

編輯MyProjectBase 模版工程的MyProjectBase.podspec文件?


$ pod lib lint (驗(yàn)證上一步編輯的 MyProjectBase.podspec文件)

如果有ERROR,則需要去一個(gè)個(gè)修改完成熊昌,例如某個(gè)Category的.m文件沒有正確的引入依賴庫等都會(huì)造成ERROR婿屹,解決好所有的ERROR后届腐,驗(yàn)證結(jié)果如下:

這是一個(gè)警告,目前也并沒有找到合適的解決辦法围详,我們添加 --allow-warnings進(jìn)行忽略

$ pod lib lint --allow-warnings

此時(shí)?MyProjectBase passed validation.?則說明驗(yàn)證通過

$ git status

$ git add .

$ git commit -m '編輯spec文件'

$ git remote add origin?https://git.oschina.net/funky_hs/myprojectbase.git?(將本地庫與遠(yuǎn)程代碼倉庫進(jìn)行關(guān)聯(lián))

$ git push origin master? (提交到遠(yuǎn)程倉庫)

$ git tag '0.1.0' (要與MyProjectBase.podspec文件中的tag值保持一致)

$ git push --tags(將tag提交到遠(yuǎn)程)

$ pod spec lint --allow-warnings(驗(yàn)證遠(yuǎn)程是否正確,注意:Username與Password一定要填寫正確)

如果 Username與Password 填寫不正確,則:

- ERROR | [iOS] unknown: Encountered an unknown error ([!] /usr/bin/git clone http://git.oschina.net/funky_hs/myprojectbase.git /var/folders/d_/1bsk9q6n63zgbj5cwjg4m_wr0000gn/T/d20170427-3621-13rl3wf --template= --single-branch --depth 1 --branch 0.1.0


MyProjectBase.podspec passed validation.

表明驗(yàn)證通過


7?podspec文件提交到本地的私有索引庫

$ pod repo


$ pod repo push MyProjectSpec MyProjectBase.podspec

表示提交成功漠嵌,此時(shí)遠(yuǎn)程私有庫到此就已結(jié)束

注意:提交后儒鹿,依然會(huì)驗(yàn)證 podspec文件约炎,驗(yàn)證通過后 會(huì)自動(dòng)上傳到在遠(yuǎn)程spec索引庫,不信的話你可以看看在第二步創(chuàng)建的Spec遠(yuǎn)程私有索引庫,是不是多了一個(gè)MyProjectBase/ 0.1.0文件喷鸽!


8?主工程利用Pods使用我們自己的私有框架

$ cd /Users/Funky/Desktop/CocoaPodRemoteLib/MyMainProject

$ pod init

用Xcode打開編輯Podfile文件?

$ pod install

打開MyMainProject.xcworkspace做祝,此時(shí)在pod中可以找到遠(yuǎn)程私有庫的代碼


9?添加及修改基礎(chǔ)組件內(nèi)容

如下圖:?

在本地的基礎(chǔ)組件的Classes路徑下 又新增了兩個(gè)文件夾(Base砾省,Tool)

$ cd /Users/Funky/Desktop/CocoaPodRemoteLib/MyProjectBase?

編輯MyProjectBase 模版工程的MyProjectBase.podspec文件?

$ git status

$ git add .

$ git commit -m'新增Base,Tool文件內(nèi)容'

$ git push origin master (提交到遠(yuǎn)程)

$ git tag '0.2.0'

$ git push --tags

$ pod repo push MyProjectSpec MyProjectBase.podspec


$ cd /Users/Funky/Desktop/CocoaPodRemoteLib/MyMainProject

修改Podfile文件?

$ pod install


10?在基礎(chǔ)組件MyProjectBase內(nèi)部生成子庫

問題描述:當(dāng)我們執(zhí)行完第九步后混槐,我們發(fā)現(xiàn)主工程的Pods中并沒有按文件夾(Base编兄,Category,Tool)進(jìn)行不同類的劃分纵隔,同時(shí)當(dāng)我們僅僅想引入一個(gè)Category庫時(shí)翻诉,連同Base,Tool也引入進(jìn)項(xiàng)目中捌刮,這就太惡心了碰煌!

參照AFNetworking?

修改MyProjectBase.podspec文件?

$ cd /Users/Funky/Desktop/CocoaPodRemoteLib/MyProjectBase

$ git status

$ git add .

$ git commit -m'生成子庫文件夾'

$ git push origin master (提交到遠(yuǎn)程)

$ git tag '0.2.0'

$ git push --tags

$ pod repo push MyProjectSpec MyProjectBase.podspec


$ cd /Users/Funky/Desktop/CocoaPodRemoteLib/MyMainProject

修改Podfile文件?

$ pod install

就現(xiàn)在 快打開主工程看一看吧!


有不理解或者發(fā)現(xiàn)博主存在理解操作不正確的地方绅作,歡迎評(píng)論芦圾,我會(huì)及時(shí)修正!

原文地址:https://www.cnblogs.com/hs-funky/p/6780203.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末俄认,一起剝皮案震驚了整個(gè)濱河市个少,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌眯杏,老刑警劉巖夜焦,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異岂贩,居然都是意外死亡茫经,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門萎津,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卸伞,“玉大人,你說我怎么就攤上這事锉屈』绨粒” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵颈渊,是天一觀的道長(zhǎng)遂黍。 經(jīng)常有香客問我,道長(zhǎng)儡炼,這世上最難降的妖魔是什么妓湘? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮乌询,結(jié)果婚禮上榜贴,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好唬党,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布鹃共。 她就那樣靜靜地躺著,像睡著了一般驶拱。 火紅的嫁衣襯著肌膚如雪霜浴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天蓝纲,我揣著相機(jī)與錄音阴孟,去河邊找鬼。 笑死税迷,一個(gè)胖子當(dāng)著我的面吹牛永丝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播箭养,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼慕嚷,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了毕泌?” 一聲冷哼從身側(cè)響起喝检,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撼泛,沒想到半個(gè)月后挠说,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愿题,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年纺涤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抠忘。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖外永,靈堂內(nèi)的尸體忽然破棺而出崎脉,到底是詐尸還是另有隱情,我是刑警寧澤伯顶,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布囚灼,位于F島的核電站,受9級(jí)特大地震影響祭衩,放射性物質(zhì)發(fā)生泄漏灶体。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一掐暮、第九天 我趴在偏房一處隱蔽的房頂上張望蝎抽。 院中可真熱鬧,春花似錦路克、人聲如沸樟结。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓢宦。三九已至碎连,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間驮履,已是汗流浹背鱼辙。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留玫镐,地道東北人倒戏。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像摘悴,于是被迫代替她去往敵國(guó)和親峭梳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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