iOS依赖库管理工具之Carthage

  在iOS开发中,我们常会用CocoaPods来进行依赖库的管理。CoaoaPods 是一套整体解决方案,我们在 Podfile 中指定好我们需要的第三方库,然后 CocoaPods 就会进行下载,集成,然后修改或者创建我们项目的 workspace 文件。

  相比之下,Carthage 就要轻量很多,它也需要一个叫做 Cartfile 的描述文件,但 Carthage 不会对我们的项目结构进行任何修改,更不多创建 workspace。它只是根据我们描述文件中配置的第三方库,将它们下载到本地,然后使用 xcodebuild 构建成 framework 文件。然后由我们自己将这些库集成到项目中。Carthage使用的是一种非侵入性的哲学。作为开发者,必须在 Carthage 将第三方库构建完成后,手动的关联到项目中。

  另外 Carthage 除了非侵入性,它还是去中心化的,它的包管理不像 CocoaPods 那样,有一个中心服务器(cocoapods.org),来管理各个包的元信息,而是依赖于每个第三方库自己的源地址,比如 Github。这样也是有利有弊,好处就是我们对包管理不再依赖中心服务器,不会受中心服务器信息量和稳定性的限制(尤其是在我们这里的网络访问状况问题),弊端嘛,就是我们想查找第三方库的时候,也没有一个中心服务器来帮助我们进行索引,而是必须从网络上自行查找。

1.安装Carthage

  • 方法一:打开终端,输入如下指令。
$ brew update
$ brew install carthage

  安装完成后,在终端执行如下指令,可以查看当前carthage的版本:

$ carthage version

2.使用Carthage

  • 第一步:通过终端进入你的项目文件夹,示例如下:
$ cd /Users/GofLee/Desktop/Source/SwiftDemo/SwiftDemo/ThirdLibrary
  • 第二步:创建一个空的carthage文件,指令如下:
$ touch Cartfile

  此时项目文件夹里会创建一个名为Cartfile的文件。

  • 第三步:使用xcode打开Cartfile文件:
$ open -a Xcode Cartfile

  在打开的文件中输入你所要导入的第三方库,示例所示:

github "Alamofire/Alamofire"
github "SwiftyJSON/SwiftyJSON"

  当然也可以指定版本号,没有指明版本号的时候,则会自动使用最新的版本。指定版本号示例:

github "Alamofire/Alamofire" ~> 3.4.0
  • 第四步:保存并关闭Cartfile文件,在终端执行如下命令:
$ carthage update --platform iOS

  carthage会为你下载和编译所需要的第三方库,当命令执行完毕,在你的项目文件夹中会创建一个名为Carthage的文件夹。在 ~/Carthage/Build/iOS里会出现framework和dSYM文件,如下所示:

  【说明】:

  1. 由于此处只需要导入iOS平台下的库,所以指定了平台,如果需要全部库,那么去掉后面的"--platform iOS"即可。
  2. Build 中存放的是构建好的 framework 包;
  3. Checkouts 中存放的是第三方库项目源文件。
  • 第五步:回到项目设置,进入 General 选项卡,在最下方的 Linked Frameworks and Libraries 中,将Carthage/Build/iOS 中的 framework 文件添加到项目中,如下图所示:

  • 第六步:在 Build Phrases 中,点击左上角的 + 号,添加一个 New Run Script Phrase,在脚本区域输入:
/usr/local/bin/carthage copy-frameworks

  最后将 Alamofire 和 SwiftyJSON 的路径添加到 Input Files 中,如下图所示:

  添加这个 Run Script 的作用是为了让运行时能够找到这个动态库。这点 Carthage 官方文档中没有太明确的说明。我实际的实验过,如果不添加这个 copy-frameworks 脚本,那么项目在运行的时候会因为找不到这个动态库而在启动的时候崩溃。

3.使用导入库

  生成和配置好第三方库之后,我们可以很简单的来使用,直接在要使用的文件中导入,示例如下:

import Alamofire
import SwiftyJSON
时间: 2024-10-07 11:39:49

iOS依赖库管理工具之Carthage的相关文章

iOS依赖库管理工具之CocoaPods

CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具.利用 CocoaPods,可以定义自己的依赖关系库 (称作 pods),并且随着时间的变化,在整个开发环境中对第三方库的版本管理非常方便. 1.为什么要用CocoaPods? 在iOS项目开发过程中,我们经常会使用一些第三方库,如AFNetworking.YYKit.Masonry等,通过这些优秀的第三方库,来帮助我们更有效率的进行开发.回想一下我们导入这些第三方库的过程: 第一步:下载第三方库的源代码并添加

iOS第三方库管理工具

作者:彷徨iOS 原文地址1:http://iostree.sinaapp.com/?p=78 原文地址2:http://blog.csdn.net/wzzvictory/article/details/18737437 iOS第三方库管理工具Pods 很多使用第三方库都觉得超爽,可以省略很多代码,大大节省了我们的开发时间,但是,对于很多初学者来说,使用起来超级麻烦,有可能每个第三方库需要的配置步骤都不一样,并且很容易出错.在此我给大家分享一个非常好用的一款工具-Pods,分享之前我在网上查阅了

Cocoa 新的依赖管理工具:Carthage

安装Carthage只需要打开终端,输入如下指令: $ brew update $ brew install carthage 如果你不喜欢使用终端,也可以从网站https://github.com/Carthage/Carthage/releases下载最新版的Carthage.pkg来更新.当你安装好Carthage后,在终端执行$ carthage version 即可看到当前的carthage版本, 当写这篇文章的时候,Carthage的版本为0.11.0 .现在,你已经安装好了Cart

iOS开发笔记 - 工具篇

??工欲善其事,必先利其器.作为一个合格的iOS开发者,熟练的使用各种开发或辅助开发的工具也算是一项必备技能吧,下面是我整理的一些工具及其应用场景和使用方法. 文档浏览工具 - Dash 网络抓包工具 Charles Wireshark 版本控制工具 Github SourceTree CornerStone SQLite数据库可视化工具 SQLiteBrowser Datum 界面调试工具 - Reveal 调试仪表 - Gauge 剖面仪器 - Instruments Allocations

iOS开发之CocoaPods(objective-c第三方库管理工具)

介绍: iOS开发中,大多数情况下,我们都需要集成一些第三方依赖库,对于一个稍大的项目,用到的第三方依赖库的数量也非常可观.CocoaPods是objective-c第三方库管理工具,方便第三方库的管理. 用法: 1. 安装 $ sudo gem install cocoapods 2. 用法 在iOS项目目录下新建Podfile文件,添加第三方依赖库,如 source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' p

iOS 中的第三方库管理工具

xcode没有android studio中的gradle进行第三方库管理,但是有第三方的库管理工具CocoaPods,https://github.com/CocoaPods/CocoaPods/wiki. 用了这个命令行工具,就可以方便地维护第三方库了. iOS 中的第三方库管理工具

Php学习之依赖管理工具composer详解

本文和大家分享的主要是php中依赖管理工具composer相关用法,一起来看看吧,希望对大家学习php有所帮助. 什么是依赖管理工具 当你引用某个第三方库时,如果这个库使用到了另外一个或若干个第三方库,再或许另外一个第三方库又有其他的依赖,这样的话手动维护你需要下载安装N个包.用来解决由此产生的问题的工具就叫做依赖管理工具. 有哪些常见的依赖管理工具 Java的maven.gradle,NodeJs的npm,IOS的CocoaPods,PHP的composer 大部分编程语言都会有自己的常用依赖

bower——库管理工具

bower了解: 随着网页功能的复杂化,各种网页效果的实现,现在单一的一个或两个库文件或许已经不能够满足我们的需要,但当有很多的库文件的时候,手动编辑已经不能胜任,对于引入的库文件而言,往往都是牵一发而动全身.现在开发者越来越需要一个工具,对浏览器端的各种库文件进行管理,比如搜索.自动安装\卸载.检查更新.确保依赖关系等等.bower就是为了解决这个问题儿诞生的针对浏览器端的库管理工具. 使用bower,相对于自己手工编辑,节省很大一部分时间,当你需要一个js库的时候,手工编辑往往需要上网查找这

iOS代码覆盖率测试工具

基于lcov-1.11的:CodeCoverage4iOS 阅读目录 环境准备 Xcode工程配置 构建并安装程序 收集代码覆盖率 过滤结果 合并多个Coverage.info?件?成覆盖率报告: 参考文献 iOS code coverage test tool. 基于lcov-1.11的iOS代码覆盖率测试工具,适用与iOS真机与模拟器. 环境准备 Mac OS X :10.8.5+ 建议10.9 Xcode :5.0+ 建议6.1 回到顶部 Xcode工程配置 拷贝CodeCoverage4