美文网首页iOS开发
第三方框架管理工具 Carthage

第三方框架管理工具 Carthage

作者: 杜小秦 | 来源:发表于2018-12-25 23:12 被阅读11次

    什么是 carthage

    Carthage is intended to be the simplest way to add frameworks to your Cocoa application.


    Carthage 的作用也 cocoapods 类似但是有有所不一样。

    在iOS开发中,我们常会用CocoaPods来进行依赖库的管理。CoaoaPods 是一套整体解决方案,我们在 Podfile 中指定好我们需要的第三方库,然后 CocoaPods 就会进行下载,集成,然后修改或者创建我们项目的 workspace 文件。
      相比之下,Carthage 就要轻量很多,它也需要一个叫做 Cartfile 的描述文件,但 Carthage 不会对我们的项目结构进行任何修改,更不多创建 workspace。它只是根据我们描述文件中配置的第三方库,将它们下载到本地,然后使用 xcodebuild 构建成 framework 文件。然后由我们自己将这些库集成到项目中。Carthage使用的是一种非侵入性的哲学。作为开发者,必须在 Carthage 将第三方库构建完成后,手动的关联到项目中。
      另外 Carthage 除了非侵入性,它还是去中心化的,它的包管理不像 CocoaPods 那样,有一个中心服务器(cocoapods.org),来管理各个包的元信息,而是依赖于每个第三方库自己的源地址,比如 Github。这样也是有利有弊,好处就是我们对包管理不再依赖中心服务器,不会受中心服务器信息量和稳定性的限制(尤其是在我们这里的网络访问状况问题),弊端嘛,就是我们想查找第三方库的时候,也没有一个中心服务器来帮助我们进行索引,而是必须从网络上自行查找。

    安装

    $ brew update 
    $ brew install carthage
    

    查看版本

    $ carthage version
    

    使用

    • step 1 :
      到终端切换到工程目录,输入命令 $ touch Cartfile创建 Carfile文件
    • step 2 :
      $ open -a Xcode Cartfile打开改文件 加入需要的第三方库
    github "Alamofire/Alamofire"
    github "SwiftyJSON/SwiftyJSON"
    git "[https://github.com/AFNetworking/AFNetworking.git](https://github.com/AFNetworking/AFNetworking.git)"
    
    
    • step 3:
      下载编译
    $ Carthage update --platform iOS
    

    Carthage->Build ->iOS 下就有所需要的库

    • step 4:
      工程内使用
      把.framework等库文件拖到工程里,然后在 Target-> Build Phases 下添加 New Run Script Phase 添加脚本
      Shell 下面添加/usr/local/bin/Carthage copy-frameworks
      Input Files 下添加$(SRCROOT)+ 第三方框架库文件路径
      具体内容

    注意:如果第三方框架中有 swift 会在运行时报错

    报错
    这是更改一下配置 总是嵌入 swift 标准库

    相关文章

      网友评论

        本文标题:第三方框架管理工具 Carthage

        本文链接:https://www.haomeiwen.com/subject/qsiqlqtx.html