【iOS-Develop技術文章-004】用CocoaPods做iOS程式的依賴管理

來源:互聯網
上載者:User

標籤:

一、CocoaPods概述

  每種語言發展到一個階段,就會出現相應的依賴管理工具,例如 Java 語言的 Maven,nodejs 的 npm。隨著 iOS 開發人員的增多,業界也出現了為 iOS 程式提供依賴管理的工具,它的名字叫做:CocoaPods。

  CocoaPods項目的源碼 在 Github 上管理。該項目開始於 2011 年 8 月 12 日,經過多年發展,現在已經成為 iOS 開發事實上的依賴管理標準工具。開發 iOS 項目不可避免地要使用第三方開源庫,CocoaPods 的出現使得我們可以節省設定和更新第三方開源庫的時間。

  在沒有使用 CocoaPods 以前,我需要:

    (1)把這些第三方開源庫的原始碼檔案複製到項目中,或者設定成 git 的 submodule。

    (2)對於這些開源庫通常需要依賴系統的一些 framework,我需要手工地將這些 framework 分別增加到項目依賴中,比如通常情況下,一個網路程式庫就需要增加以下 framework: CFNetwork, SystemConfiguration, MobileCoreServices, CoreGraphics, zlib。

    (3)對於某些開源庫,我還需要設定-licucore或者 -fno-objc-arc等編譯參數

    (4)管理這些依賴包的更新。

  這些體力活雖然簡單,但毫無技術含量並且浪費時間。在使用 CocoaPods 之後,我只需要將用到的第三方開源庫放到一個名為 Podfile 的檔案中,然後執行pod install。 CocoaPods 就會自動將這些第三方開源庫的源碼下載下來,並且為我的工程設定好相應的系統依賴和編譯參數。

 

二、CocoaPods 的安裝和使用介紹

  

 

 

三、CocoaPods原理

  大概研究了一下 CocoaPods 的原理,它是將所有的依賴庫都放到另一個名為 Pods 項目中,然後讓主專案依賴 Pods 項目,這樣,源碼管理工作都從主專案移到了 Pods 項目中。發現的一些技術細節有:

    (1)Pods 項目最終會編譯成一個名為 libPods.a 的檔案,主專案只需要依賴這個 .a 檔案即可。

    (2)對於資源檔,CocoaPods 提供了一個名為 Pods-resources.sh 的 bash 指令碼,該指令碼在每次項目編譯的時候都會執行,將第三方庫的各種資源檔複製到目標目錄中。

    (3)CocoaPods 通過一個名為 Pods.xcconfig 的檔案來在編譯時間設定所有的依賴和參數。

 

【iOS-Develop技術文章-004】用CocoaPods做iOS程式的依賴管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.