包管理工具Carthage使用
iOS项目中第三方开源库的工具有Cocoapods和Carthage,swift官方出了一个包管理工具SPM(Swift Package Manager)。
首先,大体讲一下Cocoapods和Carthage的区别:CocoaPods会直接创建和修改项目的workspace配置,创建的是高度集成的项目。Carthage不需要创建workspace,仅仅需要依赖打包好的framework文件即可。CocoaPods相对来说功能要比Carthage多很多,而Carthage的配置比较简单。
Swift 包依赖工具和 Carthage 工作原理类似,都是去中心化的包管理系统,它要求开发者提供依赖包的 Git 地址。不过目前SPM还没有在iOS项目上使用。下面讲一下写ios的swift项目过程中,如何使用Carthage。
1.Carthage安装卸载
1.1 安装Carthage,2种方法:
(1)可以在官网上下载Carthage对应版本的pkg文件,安装即可。比如下载0.11版本的Carthage包:下载pkg文件,安装carthage version 0.11版本。
(2)用brew安装:
brew update
brew install carthage
1.2 卸载Carthage:
brew uninstall carthage
2. 使用Carthage
2.1 创建Cartfile
在项目的根目录下,创建Cartfile:
vim Cartfile
2.2 编写Cartfile:写入要管理的第三方库,比如socket.io和ReactiveCocoa
github "socketio/socket.io-client-swift" ~> 6.0. # Or latest version
github "ReactiveCocoa/ReactiveCocoa"
2.3 运行Cartfile:
carthage build --platform iOS
carthage update --platform ios
运行成功后,会发现目录下多了一个Cartfile.resolved文件和Carthage的目录。在/Carthage/Build/iOS目录下就会看到对应的第三方库。
包管理工具Carthage使用的更多相关文章
- Carthage 包管理工具,另一种敏捷轻快的 iOS & MAC 开发体验 | SwiftCafe 咖啡时光
说起 iOS 开发的包管理,大家就不由得会想起 CocoaPods, 它确实是一个强大的工具.但这次咱们来关注另外一个包管理工具 Carthage,如果说 CocoaPods 像一个航母,一应俱全,坚 ...
- Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化
上篇博客详细的聊了CocoaPods的相关内容,今天我们就来介绍另一个Cocoa的包管理器Carthage.在上家公司用Swift开发工程时,用的就是Carthage.Carthage诞生于14年11 ...
- Python黑帽编程1.3 Python运行时与包管理工具
Python黑帽编程1.3 Python运行时与包管理工具 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...
- Node包管理工具
Node包管理工具 只是简单的介绍一些工具的使用,有利于开发过程.除了介绍Node包管理工具,还介绍了前端打包工具,前端模块管理工具 Node包管理工具: --npm --cnpm ...
- godep 包管理工具
godep是解决包依赖的管理工具 安装 go get github.com/tools/godep 成功安装后,在GOPATH的bin目录下会有一个godep可执行的二进制文件,后面执行的命令都是用这 ...
- 【转载】Python的包管理工具Pip
接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_install和Pip.不过,我没有细 ...
- Python的包管理工具Pip (zz )
Python的包管理工具Pip 接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_ins ...
- python 包管理工具
python 包管理工具 Python当前的包管理工具链是 easy_install/pip + distribute/setuptools + distutils,显得较为混乱. 而将来的工具链组合 ...
- Python 包管理工具解惑
Python 包管理工具解惑 本文链接:http://zengrong.net/post/2169.htm python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到 ...
随机推荐
- 出现个Expression(str != NULL)
CPrimerPlus的11章复习题10:编写个函数,其参数为一个字符串指针,返回一个指针,返回的指针指向字符串中第一个空格的位置(如果没有空格就返回空指针) #include <stdio.h ...
- sqlserver表分区小结
为什么要表分区? 当一个表的数据量太大的时候,我们最想做的一件事是什么?将这个表一分为二或者更多分,但是表还是这个表,只是将其内容存储分开,这样读取就快了N倍了 原理:表数据是无法放在文件中的,但是 ...
- codeigniter框架The URI you submitted has disallowed characters错误解决方法
CI中URI传递参数时,出现:The URI you submitted has disallowed characters.错误 .原因:这是由于uri中存在CI不允许的字符 . 解决办法:在con ...
- MIT 6.828 JOS学习笔记7. Lab 1 Part 2.2: The Boot Loader
Lab 1 Part 2 The Boot Loader Loading the Kernel 我们现在可以进一步的讨论一下boot loader中的C语言的部分,即boot/main.c.但是在我们 ...
- 解决SVN更新代码是出现previous operation has not finished; run cleanup if it was interrupted这个错误
解决方法:清空svn的队列 1.下载sqlite3.exe 2.找到你项目的.svn文件,查看是否存在wc.db (查看.svn文件需要打开显示隐藏文件夹) 3.将sqlite3.exe放到.sv ...
- 未能加载文件或程序集“System.Data.SQLite”或它的一个依赖。试图加载格式不正确的程序
Go to the IIS7 Application Pool -> advanced settings and set the 32-bit application to true.
- SOAPUI测试步骤----DataGen TestStep
DataGen TestStep DataGen TestStep可以用来生成数据输入在你 TestCases ,例如数字或日期序列.随机选择等生成的数据作为属性,因此可以转移 和扩张就像任何其他属性 ...
- 【BZOJ1671】[Usaco2005 Dec]Knights of Ni 骑士 BFS
[Usaco2005 Dec]Knights of Ni 骑士 Description 贝茜遇到了一件很麻烦的事:她无意中闯入了森林里的一座城堡,如果她想回家,就必须穿过这片由骑士们守护着的森林.为 ...
- 将一个Asp.Net网站改为MVC
背景: 网站已经开发的一部分 主要是Web服务和API 现在要做一些给人看的页面 转载请注明出处 http://www.cnblogs.com/zaiyuzhong/p/add-mvc-in-w ...
- 如何将U盘内文件拷入VMware Linux CentOS6.5虚拟机
之前在Linux CentOS下安装Oracle这篇随笔中我提到要将下载到的安装文件解压缩 那么,问题来了! 如何把下载到的文件拷入虚拟机中呢? 我是这样做的: 1.将下载到的文件拷入U盘 2.以ro ...