CocoaPods的基本使用

CocoaPods 是什么?

  • CocoaPods 是開發(fā) OS X 和 iOS 應用程序的一個第三方庫的依賴管理工具殉农。利用CocoaPods,可以定義自己的依賴關系 (稱作 pods),并且隨著時間的變化,以及在整個開發(fā)環(huán)境中對第三方庫的版本管理非常方便。
  • CocoaPods 背后的理念主要體現(xiàn)在兩個方面呼畸。首先,在工程中引入第三方代碼會涉及到許多內容庵佣。針對 Objective-C 初級開發(fā)者來說,工程文件的配置會讓人很沮喪是己。在配置buildphases和linker flags過程中,會引起許多人為因素的錯誤白筹。CocoaPods 簡化了這一切,它能夠自動配置編譯選項挖诸。
  • 其次,通過 CocoaPods,可以很方便的查找到新的第三方庫汁尺。當然,這并不是說你可以簡單的將別人提供的庫拿來拼湊成一個應用程序。它的真正作用是讓你能夠找到真正好用的庫,以此來縮短我們的開發(fā)周期和提升軟件的質量多律。
  • CocoaPods的原理,它是將所有的依賴庫都放到另一個名為Pods項目中,然后讓主項目依賴Pods項目,這樣,源碼管理工作都從主項目移到了Pods項目中
    • 1痴突、Pods項目最終會編譯成一個名為libPods.a的文件,主項目只需要依賴這個.a文件即可搂蜓。
    • 2、對于資源文件,CocoaPods提供了一個名為Pods-resources.sh的bash腳本,該腳本在每次項目編譯的時候都會執(zhí)行,將第三方庫的各種資源文件復制到目標目錄中辽装。
    • 3帮碰、CocoaPods通過一個名為Pods.xcconfig的文件來在編譯時設置所有的依賴和參數(shù)。

一拾积、CocoaPods安裝:

  • Mac下都自帶ruby,使用ruby的gem命令即可下載安裝:
    • 安裝CocoaPods:
sudo gem install cocoapods
  • 設置 pod 倉庫
      pod setup
  • 測試
      pod --version
  • 卸載CocoaPods
      sudo gem uninstall cocoapods
  • 注意:(在安裝之前做以下操作)
    • 1.如果gem太老可能會有問題,所以安裝之前最好升級一下
gemsudo gem update --system
  • 2.ruby的軟件源rubygems.org使用的亞馬遜的云服務被墻了,所以需要更新一下ruby的源,如下代碼將官方的ruby源替換成國內淘寶的源
gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l
  • 3.pod setup在執(zhí)行時,會輸出Setting up CocoaPods master repo,但是會等待比較久的時間殉挽。這步其實是Cocoapods在將它的信息下載到 ~/.cocoapods目錄下,如果你等太久,可以試著cd到那個目錄,用du -sh *來查看下載進度。你也可以參考本文接下來的使用cocoapods的鏡像索引一節(jié)的內容來提高下載速度殷勘。
  • 4.使用CocoaPods的鏡像索引所有的項目的Podspec文件都托管在
    https://github.com/CocoaPods/Specs
    第一次執(zhí)行pod setup時,CocoaPods會將這些podspec索引文件更新到本地的~/.cocoapods/目錄下,這個索引文件比較大,有100M左右此再。所以第一次更新時非常慢。為了提高下載速度, 可以將文件托管地址從github替換為國內oschina,這樣會快很多玲销。如下操作就可以將github替換為國內oschina
pod repo remove master
pod repo add master https://git.oschina.net/akuandev/Specs.git
pod repo update

二输拇、CocoaPods使用:

  • 使用時需要新建一個名為Podfile的文件

    1.利用vim創(chuàng)建Podfile。
    注意:Podfile文件應該和你的工程文件.xcodeproj在同一個目錄下vim Podfile
    2.將依賴的庫名字依次列在文件中
    platform :ios
    pod 'JSONKit', '~> 1.4'
    pod'Reachability', '~>3.0.0'
    pod'AFNetworking', '2.0.0'
    pod 'RegexKitLite'
    3.保存并退出
    按下esc,然后輸入:wq
    4.利用CocoPods下載類庫
    pod install

  • 注意:

    1.利用CocoPods管理類庫后, 以后打開項目就用xxxx.xcworkspace 打開,而不是之前的.xcodeproj文件
    2.每次更改了Podfile文件,你需要重新執(zhí)行一次pod update命令贤斜。
    3.關于.gitignore當你執(zhí)行pod install之后,除了Podfile外,CocoaPods還會生成一個名為Podfile.lock的文件,你不應該把這個文件加入到.gitignore中策吠。因為Podfile.lock會鎖定當前各依賴庫的版本,之后如果多次執(zhí)行pod install 不會更改版本,要pod update才會改Podfile.lock了。這樣多人協(xié)作的時候,可以防止第三方庫升級時造成大家各自的第三方庫版本不一致瘩绒。
    4.CocoaPods在執(zhí)行pod install和pod update時,會默認先更新一次CocoPods的spec倉庫索引猴抹。
    使用--no-repo-update參數(shù)可以禁止其做索引更新操作

pod install --no-repo-update
pod update --no-repo-update

三、查找第三方庫


四锁荔、Xcode第三方插件

CocoaPods plugin是CocoaPods在Xcode上的插件蟀给,它可以讓你更容易地使用CocoaPods。它為CocoaPods添加了一個菜單項阳堕,如果你不喜歡用命令行跋理,你可以使用這個插件。

Snip20150920_2.png

謝謝您的瀏覽,你的關注是對我莫大的支持!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末恬总,一起剝皮案震驚了整個濱河市前普,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壹堰,老刑警劉巖拭卿,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贱纠,居然都是意外死亡峻厚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門谆焊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來目木,“玉大人,你說我怎么就攤上這事」羯洌” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵剃执,是天一觀的道長誓禁。 經(jīng)常有香客問我,道長肾档,這世上最難降的妖魔是什么摹恰? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮怒见,結果婚禮上俗慈,老公的妹妹穿的比我還像新娘。我一直安慰自己遣耍,他們只是感情好闺阱,可當我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舵变,像睡著了一般酣溃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纪隙,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天赊豌,我揣著相機與錄音,去河邊找鬼绵咱。 笑死碘饼,一個胖子當著我的面吹牛,可吹牛的內容都是我干的悲伶。 我是一名探鬼主播艾恼,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拢切!你這毒婦竟也來了蒂萎?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤淮椰,失蹤者是張志新(化名)和其女友劉穎五慈,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體主穗,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡泻拦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了忽媒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片争拐。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖晦雨,靈堂內的尸體忽然破棺而出架曹,到底是詐尸還是另有隱情隘冲,我是刑警寧澤,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布绑雄,位于F島的核電站展辞,受9級特大地震影響,放射性物質發(fā)生泄漏万牺。R本人自食惡果不足惜罗珍,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脚粟。 院中可真熱鬧覆旱,春花似錦、人聲如沸核无。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厕宗。三九已至画舌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間已慢,已是汗流浹背曲聂。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留佑惠,地道東北人朋腋。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像膜楷,于是被迫代替她去往敵國和親旭咽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內容