Carthage 不知不覺用到了

 

Carthage 是什麼?html


 

      這個問題咱們簡單點一句話總結: 你知道什麼事CocoaPods吧,我相信只要是作iOS的都知道,Carthage 的屬性和做用和咱們經常使用的CocoaPods都是同樣的,這樣我相信不知道這玩意的同窗也就知道了它是用來幹嗎的。咱們也就再也不過多的解釋。git

 

Carthage和CocoaPods有什麼不一樣嗎?github


 

     一、使用了CocoaPods的項目是高度集成的,而Carthage更靈活強調儘量將任務委託給Xcode和Git。服務器

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

        "Carthage在使用中不須要建立和集成相應的workspace和project,只須要依賴打包好的framework文件便可。架構

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

     二、CocoaPods相對來講功能要比Carthage多不少,所以也更復雜,而CocoaPods配置簡單項目乾淨。框架

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

     四、想讓本身的第三方庫支持Carthage比讓其支持CocoaPods更加的簡單。函數

 

Carthage的不足


 

        一、庫依然不如 CocoaPods 豐富

        二、僅支持iOS8+

        三、工具尚且不如CocoaPods(已經發布了app)

        四、在使用第三方庫的過程當中沒法查看源碼

 

Carthage的安裝和卸載


  

       安裝方式我就建議直接PKG安裝,簡單粗暴:  下載地址 ----- https://github.com/Carthage/Carthage/releases

       固然還有另外的安裝方式,具體的你們能夠看看 Carthage  具體git上是怎麼說的

 

       卸載就比較簡單了:終端  $ brew uninstall Carthage

 

Carthage的使用


 

       它的使用是重點,但我不想直接說它是怎麼用的就完事了,我最近有看《APP架構》這本書,關於這本書在咱們微信的小專欄也有王巍的翻譯版本,具體的關於這本書的代碼內容以及視頻都在這裏 https://github.com/objcio/app-architecture

       在看關於MVVM-C這部分的代碼的時候,編譯它的項目的時候就接觸到了Carthage 。由於它用到了 RxSwift 這個函數式框架,要是細心點的話就會在它的項目代碼中看到這份README (read me)哈哈

 

       當你點開真的去read he 以後,就看到如下內容:

 

 

       其實上面這份文件已經說得差很少了,咱們說一點須要咱們注意的,這點內容送給可能也是在看這本書,可能也是有遇到這點小麻煩的同窗。

       關於上面這個你首先把它的 Cartfile 文件和 Cartfile.resolved 刪除了,由於咱們要使用更新一點的三方資源

       而後按下面步驟走:(用終端)

 

       一、cd 到項目路徑下

       二、touch  Cartfile

       三、Cartfile 文件裏面添加 RxDataSources 的路徑就能夠了,不要直接按照下面寫  

            github "ReactiveX/RxSwift" "4.4.0" 

            github "RxSwiftCommunity/RxDataSources" "3.1.0"

            由於不行

            正確的作法是:

            github "RxSwiftCommunity/RxDataSources" "3.1.0"  就能夠了! why?

            由於RxDataSources是依賴RxSwift的,座椅他會本身去添加,若是你要是按照上面錯誤的寫法,你會發現RxDataSources的framework你是死活都拉不進去的!

       四、終端執行:Carthage update --platform iOS

       五、把你須要的framework從下面這個路徑當中找到添加到你的 Link Binary With Libraries 中

            Carthage  --  Build  --  iOS  --  須要的 framework

     

要想更新一下三方庫該怎麼辦?


 

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

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

相關文章
相關標籤/搜索