攻城利器 —— Carthage簡單介紹


01 Carthage簡單介紹

    主頁:https://github.com/Carthage/Carthage.git

    作者:Justin Spahr-Summers等

    版本:0.18

    目標:用最簡單的方式來管理Cocoa第三方框架

    性質:第三方框架管理工具(類似於cocoapods) Carthage為用戶管理第三方框架和依賴,但不會自動修改項目文件和生成配置,把對項目結構和設置的控制權交給用戶。

    原理:自動將第三方框架編程為Dynamic framework(動態庫)

    限制:僅支持iOS8+。它只支持框架,所以不能用來針對iOS8以前的系統版本進行開發

 

02 Carthage和cocoapods

    1)使用了CocoaPods的項目是高度集成的,而Carthage更靈活強調盡可能將任務委托給Xcode和Git。

        "CocoaPods在使用中會自動創建和更新workspace、依賴和Pod項目並進行整合;

        "Carthage在使用中不需要創建和集成相應的workspace和project,只需要依賴打包好的framework文件即可。

        "總結一下,CocoaPods的方法更容易使用,而Carthage更靈活且對項目沒有侵入性。

    2)CocoaPods相對來說功能要比Carthage多很多,因此也更復雜,而CocoaPods配置簡單項目干凈。

    3)CocoaPods有一個中心倉庫,而Carthage是去中心化的,沒有中心服務器也就避免了可能因中心節點錯誤而帶來的失敗,即Carthage每次配置和更新環境,只會去更新具體的庫,時間更快。

    4)想讓自己的第三方庫支持Carthage比讓其支持CocoaPods更加的簡單。

 

    5)Carthage的不足

        ① 庫依然不如 CocoaPods 豐富

        ② 僅支持iOS8+

        ③ 工具尚且不如cocoapods晚上(已經發布了app)

        ④ 在使用第三方庫的過程中無法查看源碼

 

03 Carthage的安裝和使用

    1)直接下載Carthage.pkg安裝包,安裝運行

    2)如果使用的XCode為7.0+版本,那么也可以使用下面的方法來安裝

     〇 安裝homebrew

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

     ① 升級brew

$ brew update

     ② 使用brew來安裝

$ brew install Carthage

     

    ③ 查看版本

   $ Carthage version

 

04 Carthage的使用

    1)先進入到項目所在文件夾

 $ cd 項目路徑

    2)創建一個空的Carthage文件

$ touch Cartfile

    3)編輯cartfile文件,例如要安裝AFN框架

        git "https://github.com/AFNetworking/AFNetworking.git"

    4)保存並關閉cartfile文件,使用cartfile安裝框架

$ Carthage update --platform iOS

   

 5)打開Carthage 查看生產的文件目錄

$ open Carthage

       

  文件目錄說明:

            "|| Carthage/Checkouts目錄:從github獲取的源代碼

            "|| Carthage/Build目錄:編譯出來的Framework二進制代碼庫

    6) 配置項目

        打開項目,點擊Target -> Build Phases -> Link Library with Libraries選擇Carthage/Build目錄中要導入的framework

    7)添加編譯的腳本(該腳本文件保證在提交歸檔時會對相關文件和dSYMs進行復制)

        (1)點擊Build Phases,點擊“+” ->  New Run Script Phase

    

        (2)添加添加腳本   /usr/local/bin/Carthage copy-frameworks

        (3)添加"Input Files"  $(SRCROOT)/Carthage/Build/iOS/AFNetworking.framework

    

    8)在項目中使用第三方庫 #import <AFNetworking/AFNetworking.h>

 

    其它:

        卸載Carthage:$ brew uninstall Carthage

        更新第三方框架:

            更新多個框架:修改Cartfile文件,並重新執行 $ Carthage update 

            更新某個框架:$ Carthage update 具體的框架名稱

 

05 Carthage的工作過程說明

    ① 創建一個Cartfile文件,在該文件中列出您想使用的框架

    ② 運行Carthage,獲取並編譯Cartfile文件中列出的框架

    ③ 把框架的二進制文件配置到項目中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM