做为iOS工程师,必定或多或少用过一些第三方库,好比Alamofire,Kingfisher仍是SnapKit。git
以前我一直用的是CocoaPods,它是一个很是流行的依赖管理器,简化了第三方库集成到本身项目里的过程。甚至于谷歌也在用它来分发各类iOS的SDK。可是CocoaPods的缺点也很明显,就是侵入性太强,它会新建立一个Xcode项目,其中包含每一个单独pod的目标以及包含工做区。而后你必须使用工做区,你的项目创建在了CocoaPods的可用之上,并且也会有一个额外的构建设置。github
一样,Apple也发布了本身的包管理工具-Swift Package Manager,以即可以在swift3.0及更高的版本共享和分发软件包,也就是说只是面向swift。swift
除了以上说的两个工具,还有一个很是简单的包管理工具,那就是今天要说的Carthage了,这个工具其实也是发布了挺长时间了,在Github上的星星也有12.3K之多,它是有Github的开发者建立,用swift语言写的那么它有什么优点呢?框架
有两种安装方式:工具
cd 项目根目录
,touch Cartfile
;open -a Xcode Cartfile
,用Xcode打开Cartfile文件;github "Alamofire/Alamofire" == 4.5
,其中== 4.5
表示使用4.5版本,若是是~> 4.5
,表示使用版本大于4.5且小于5.0的最新版本,若是是>=4.5
,表示使用4.5或者更高版本;不指明版本号的话,会使用最新的版本;carthage update --platform iOS
,更新,并编译为二进制文件;该操做会在项目根目录下建立 Carthage/Checkouts 文件夹,Checkouts放置的是从GitHub下载的依赖源码,Build文件夹放置编译后的二进制文件;(注:单独更新某一个库:carthage update Alamofire --platform iOS
).framework
文件至项目设置界面的General
选项卡的Linked Frameworks and Libraries
中;Build Phases
选项卡,点击+
按钮,选择New Run Script Phase
来添加自定脚本:/usr/local/bin/carthage copy-frameworks
;Input Files
点击+
来添加依赖的路径:$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
;以后,就能够愉快的加班写代码了O(∩_∩)O哈哈~ui