CocoaPods安裝和使用總結(jié)

  • CocoaPods 是什么?

CocoaPods 是開發(fā) OS X 和 iOS 應(yīng)用程序的一個第三方庫的依賴管理工具。利用 CocoaPods,可以定義自己的依賴關(guān)系 (稱作 pods),并且隨著時間的變化,以 及在整個開發(fā)環(huán)境中對第三方庫的版本管理非常方便

  • CocoaPods 背后的理念主要體現(xiàn)在兩個方面

在工程中引入第三方代碼 會涉及到許多內(nèi)容。針對 Objective-C 初級開發(fā)者來說,工程文件的配置會讓 人很沮喪
在配置buildphases和linker flags過程中,會引起許多人為因素的 錯誤
CocoaPods 簡化了這一切,它能夠自動配置編譯選項

  • CocoaPods的原理
  • 它是將所有的依賴庫都放到另一個名為Pods項目中,然后 讓主項目依賴Pods項目,這樣,源碼管理工作都從主項目移到了Pods項目中
  • Pods項目最終會編譯成一個名為libPods.a的文件,主項目只需要依賴這個.a 文件即可。
  • 對于資源文件,CocoaPods提供了一個名為Pods-resources.sh的bash腳本, 該腳本在每次項目編譯的時候都會執(zhí)行,將第三方庫的各種資源文件復(fù)制到目 標(biāo)目錄中。
  • CocoaPods通過一個名為Pods.xcconfig的文件來在編譯時設(shè)置所有的依賴和 參數(shù)。
  • CocoaPods安裝
  • CocoaPods的安裝

    安裝方式異常簡單 , Mac 下都自帶 ruby,使用 ruby 的 gem 命令即可下載安裝

    1. 更新gem(如果你的 gem 太老,一般我會選擇先更新)
      sudo gem update --system
    2. 更新ruby的軟件源

      ruby 的軟件源 https://rubygems.org 因為使用的是亞馬遜的云服務(wù),所以被墻了,需要更新一下 ruby 的源,使用如下代碼將官方的 ruby 源替換成國內(nèi)淘寶的源:
      - 先移除現(xiàn)有的源
      gem sources --remove https://rubygems.org/
      - 使用新的源
      **gem sources -a https://ruby.taobao.org/ **
      - 驗證新源是否替換成功
      gem sources -l
      > 如果上面都做完,說明cocoapods前期配置完畢。??梢允褂萌缦聝尚姓Z句來安裝cocoapods和設(shè)置索引倉庫了
      - sudo gem install cocoapods
      - pod setup(網(wǎng)速慢可以先替換索引再執(zhí)行,如下)

    • 替換CocoaPods 的鏡像索引<注意>

      當(dāng)?shù)谝淮螆?zhí)行pod setup時,cocoapods將會下載podspec索引文件到本地目錄~/.cocoapods/下,這個索引文件比較大,大概80M左右,更新比較慢..所以在執(zhí)行pod setup之前最好先替換更新下CocoaPods的鏡像索引。
      一個叫 akinliu 的朋友在 gitcafeoschina 上建立了 CocoaPods 索引庫的鏡像,因為 gitcafe 和 oschina 都是國內(nèi)的服務(wù)器,所以在執(zhí)行索引更新操作時,會快很多,如下操作可以將 CocoaPods 設(shè)置成使用 gitcafe 鏡像:
      + pod repo remove master
      + pod repo add master http://git.oschina.net/akuandev/Specs.git
      + pod repo update
      即可使用 oschina 上的鏡像。

  • CocoaPods的使用

    • 驗證是否安裝成功
      pod --version
    > 如果驗證成功,顯示版本號,如,**0.39.0**,說明可以安裝全部完成.
    > 如果顯示**-bash: po: command not found**,說明沒有裝好
    
    • 開始使用

      使用時需要新建一個名為 Podfile 的文件,以如下格式,將依賴的庫名字依次列在文件中即可
      platform :ios
      pod 'AFNetworking', '~> 1.4'
      '~> 1.4'表示安裝三方庫版本號,可以不寫,默認(rèn)為索引庫中最新版本
      - 注意事項
      1. 利用CocoPods管理類庫后, 以后打開項目就用xxxx.xcworkspace 打開,而不是 之前的.xcodeproj文件
      2. 每次更改了Podfile文件,你需要重新執(zhí)行一次pod update命令。
      3. CocoaPods在執(zhí)行pod install和pod update時,會默認(rèn)先更新一次CocoPods的 spec倉庫索引。使用--no-repo-update參數(shù)可以禁止其做索引更新操作
      pod install --no-repo-update pod update --no-repo-update
      4. 驗證框架是否支持cocoaPods
      + 終端指令
      pod search MJRefresh
      + https://cocoapods.org,在線搜索驗證在線,能搜出說明支持。
      5. cocoaPods隱藏目錄
      > + 前往—>個人—>.cocoapods
      > + .cocoapods/repos/master/Specs放著所有第三方庫的索引文件,如下圖

      技巧:如果master/Specs下載不成功,試著,手動拷貝這個目錄試試
      6. cocoaPods插件
      > cocoapods-xcode-plugin,cocoapods插件,管理cocoaPods框架.例如,有了這個插件就不用我們手動創(chuàng)建Profile文件了。

  • 卸載CocoaPods安裝

    sudo gem uninstall cocoapods

  • 回退到指定cocoapods版本(如0.39)

    sudo gem install -n /usr/local/bin cocoapods --version 0.39

  • ** cocoaPods遇到問題**

  • 查看下載進(jìn)度

    • 還有一點需要注意,pod setup在執(zhí)行時,會輸出Setting up CocoaPods master repo,但是會等待比較久的時間。這步其實是 Cocoapods 在將它的信息下載到 ~/.cocoapods目錄下,如果你等太久,可以試著 cd 到那個目錄,用du -sh *來查看下載進(jìn)度。
執(zhí)行sudo gem install cocoapods,如下
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/fuzzy_match

將執(zhí)行語句替換為sudo gem install -n /usr/local/bin cocoapods 
(備注:蘋果系統(tǒng)升級 OS X EL Capitan造成)

[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

查看Podfile文件內(nèi)容是否編寫語法有誤!


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 項目組件化、平臺化是技術(shù)公司的共同目標(biāo),越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件,一方面使項目架構(gòu)...
    swu_luo閱讀 22,827評論 0 39
  • CocoaPods 是什么? CocoaPods 是一個負(fù)責(zé)管理 iOS 項目中第三方開源庫的工具。CocoaPo...
    朝洋閱讀 25,978評論 3 50
  • 老伴老伴 老了的我們依然是伴 你就是我背上的暖陽 我就是你懷里的月光 顧媽媽出院了,顧爸爸開始吃晚飯,一如既...
    寒璐閱讀 240評論 0 1
  • 在寢室的一角,小雨正坐在在床頭唉聲嘆氣。 “你怎么了?”小芳從自己的書桌旁走過來。 小雨看了一眼小芳,垂頭喪氣地說...
    我是荷葉田田閱讀 342評論 0 0
  • 兩三條阡陌 靜靜地陪著我 明月稀星夜鴉 全都在環(huán)繞我 只是一個人 又何必想太多 一個人難過 不如去借個火 沒人陪著...
    sancery閱讀 189評論 0 0

友情鏈接更多精彩內(nèi)容