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 具体的框架名称

相关文章
相关标签/搜索