cocoaPods 使用

前言:文中的"$"表示命令行,使用時(shí)不需要包含


cocoaPods的安裝

  • 因?yàn)閏ocoaPods需要用Gem進(jìn)行安裝,所以如果系統(tǒng)比較舊需要先升級(jí)Gem

    • $ sudo gem update --system
  • 切換cocoaPods的數(shù)據(jù)源

    • 查看當(dāng)前數(shù)據(jù)源:$ gem sources -l
    • 如果數(shù)據(jù)源為 https://ruby.taobao.org/ 則繼續(xù)安裝,不是則需要執(zhí)行以下2個(gè)步驟修改數(shù)據(jù)源
  • 安裝cocoaPods(需要等待,下載數(shù)據(jù)源)

    • $ sudo gem install cocoapods 如果報(bào)錯(cuò)則使用下面的命令行進(jìn)行安裝
      • $ sudo gem install -n /usr/local/bin cocoapods
  • 設(shè)置pod倉(cāng)庫(kù)(需要等待,因?yàn)橐螺dcocoaPods支持的框架配置文件,長(zhǎng)短看網(wǎng)速)

    • $ pod setup
  • 查看一下是否安裝成功(如果有版本號(hào),則說明已經(jīng)安裝成功)

    • $ pod --version

利用cocoaPods來安裝第三方框架

  • 進(jìn)入要安裝框架的項(xiàng)目的.xcodeproj同級(jí)文件夾

    • $ cd 項(xiàng)目的.xcodeproj同級(jí)文件夾路徑
    • 在該文件夾中新建一個(gè)文件podfile
      • $ touch podfile
    • 查看cocoaPods是否支持要使用的框架(這里就搜索afn,在檢索出來的信息中尋找是否有需要的框架)
      • $ pod search afn
      • 找到需要使用的框架并拷貝 pod 'AFNetworking', '~> 3.1.0'(拷貝框架下相應(yīng)的字段)
    • 在podfile文件中告訴cocoapods需要安裝的框架信息
      • 打開podfile文件
      • 告訴它支持的平臺(tái)、適用的iOS版本
        • platform :ios, '6.1'
      • 框架的名稱、框架的版本
        • pod 'AFNetworking', '~> 3.1.0'
    • 保存
      說明:
      platform :ios, '7.0' 用來設(shè)置所有第三方庫(kù)所支持的iOS最低版本
      pod 'AFNetworking', '~> 3.1.0' 設(shè)置框架的名稱和版本號(hào)
      版本號(hào)的規(guī)則:
      '>1.0' 可以安裝任何高于1.0的版本
      '>=1.0' 可以安裝任何高于或等于1.0的版本
      '<1.0' 任何低于1.0的版本
      '<=1.0' 任何低于或等于1.0的版本
      '~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
      '~>0' 任何版本,相當(dāng)于不指定版本,默認(rèn)采用最新版本號(hào)
  • 安裝框架

    • $ pod install --no-repo-update
    • $ pod update --no-repo-update
      說明:--no-repo-update表示不更新,速度較快也可以省略

使用pod install命令安裝框架后的大致過程:

  • 分析依賴:該步驟會(huì)分析Podfile,查看不同類庫(kù)之間的依賴情況。如果有多個(gè)類庫(kù)依賴于同一個(gè)類庫(kù),但是依賴于不同的版本,那么cocoaPods會(huì)自動(dòng)設(shè)置一個(gè)兼容的版本。
  • 下載依賴:根據(jù)分析依賴的結(jié)果,下載指定版本的類庫(kù)到本地項(xiàng)目中。
  • 生成Pods項(xiàng)目:創(chuàng)建一個(gè)Pods項(xiàng)目專門用來編譯和管理第三方框架,CocoaPods會(huì)將所需的框架,庫(kù)等內(nèi)容添加到項(xiàng)目中,并且進(jìn)行相應(yīng)的配置。
  • 整合Pods項(xiàng)目:將Pods和項(xiàng)目整合到一個(gè)工作空間中,并且設(shè)置文件鏈接。

卸載cocoaPods

  • $ sudo gem uninstall cocoapods

常見錯(cuò)誤解決方法

  • 錯(cuò)誤 1:

  • 錯(cuò)誤 2:

    • Error: While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/pod

    解決方案:系統(tǒng)升級(jí) OS X EL Capitan (10.11) 后會(huì)出現(xiàn)的插件錯(cuò)誤,將安裝流程安裝 CocoaPods 的 sudo gem install cocoapods
    改為 sudo gem install -n /usr/local/bin cocoapods

  • 錯(cuò)誤 3:

    • [!] Unable to satisfy the following requirements:

      • AFNetworking (~> 2.3.1) required by Podfile

      Specs satisfying the AFNetworking (~> 2.3.1) dependency were found, but they required a higher minimum deployment target.

      解決方案:Podfile 文件 中 platform:ios, ‘7.0’ 后邊的 7.0 是平臺(tái)版本號(hào) ,一定要加上

  • 錯(cuò)誤 4:

―――――――――― MARKDOWN TEMPLATE ――――――――――

省略一大堆信息

―――――――――― TEMPLATE END ――――――――――

[!] Oh no, an error occurred.

Search for existing github issues similar to yours:

https://github.com/CocoaPods/CocoaPods/search?q=%28%2FUsers%2FMAXJ%2F.cocoapods%2Frepos%2Fmaster%2FCocoaPods-version.yml%29%3A+mapping+values+are+not+allowed+in+this+context+at+line+3+column+4&type=Issues

If none exists, create a ticket, with the template displayed above, on:

https://github.com/CocoaPods/CocoaPods/issues/new

Don't forget to anonymize any private data!

解決方案:

$ sudo rm -rf ~/.cocoapods/repos/master

$ pod setup

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

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

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