Carthage的使用

1. Carthage安装

1)直接下载Carthage.pkg安装包,安装运行

2)如果使用的Xcode7.0+版本,那么可以使用下面的方法来安装

安装home-brew

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

升级brew

  $ brew update

使用brew来安装

  $ brew install Carthage

查看版本

  $ Carthage version

2. Carthage使用

1)先进入到项目所在的文件夹

  $ cd ~/Path/Project

2)创建一个空的Carthage文件

  $ touch Cartfile

3)编辑cartfile文件,例如要安装AFN框架

  github "ReactiveX/RxSwift" ~> 4.0

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进行复制)

  ​ ①点击Build Phases,点击**“+” -> New Run Script Phase**

  ​ ② 添加脚本`/usr/local/bin/Carthage copy-frameworks`

  ​ ③添加“Input Files”`$(SRCROOT)/Carthage/Build/iOS/AFNetworking.framework`

8)在项目中使用第三方库

  import <AFNetworking/AFNetworking.h>

3.Carthage卸载&更新

卸载Carthage:

$ brew uninstall Carthage

更新第三方框架

  更新多个框架:修改Carfile文件,并从新执行`$ Carthage update`

  更新某个框架:`$ Carthage update 具体的框架名称`

  补充:

    carthage update –platform iOS  –no-use-binaries 

    因为添加了 –no-use-binaries 之后就取消carthage预编译框架,转而使用本地环境编译,这样就会适应到本地的swift语言版本

Carthage的工作过程说明

  ① 创建一个Cartfile文件,在该文件中列出您想使用的框架

  ② 运行Carthage,获取并编译Cartfile文件中列出的框架

  ③ 把框架的二进制文件配置到项目中

4. 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)

        ④ 在使用第三方库的过程中无法查看源码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容