一. Carthage
1. Carthage简单介绍
目标:用最简单的方式来管理Cocoa第三方框架
- 性质:第三方框架管理工具(类似于cocoapods) Carthage为用户管理第三方框架和依赖,但不会自动修改项目文件和生成配置,把对项目结构和设置的控制权交给用户。
- 原理:自动将第三方框架编程为Dynamic framework(动态库)
- 限制:仅支持iOS8+。它只支持框架,所以不能用来针对iOS8以前的系统版本进行开发
2. 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) ④ 在使用第三方库的过程中无法查看源码
3. Carthage的安装和使用
1)安装
① 直接下载Carthage.pkg安装包,安装运行
② 或者打开终端,使用指令安装
$ brew update
$ brew install carthage
你安装好Carthage后,在终端执行:
$ carthage version
2) 在项目中使用carthage
1、通过终端进入到项目所在的文件夹:
$ cd ~/Path/Project
2.创建一个空的carthage文件
$ touch Cartfile
3.使用xcode打开cartfile文件 or 使用命令打开后编辑 cartfile 文件
$ open -a Xcode Cartfile
- 并在打开的文件中加入以下内容:
github "框架名称"
- 或者使用框架在 GitHub 上的地址
git "https://github.com/框架名称.git"
4)保存并关闭cartfile文件,使用cartfile安装框架
$ Carthage update --platform iOS
5) 打开Carthage 查看生产的文件目录
$ open Carthage
文件目录说明:
“~/Carthage/Checkouts目录:从github获取的源代码
“~/ Carthage/Build目录:编译出来的Framework二进制代码库6) 配置项目
现在打开你的项目,点击project,选择target, 再选择上方的General,将需要的framework文件拖到 Linked frameworks and Binaries内
7)添加编译的脚本(该脚本文件保证在提交归档时会对相关文件和dSYMs进行复制)
8)已经导入的第三方库了,可以在项目中使用第三方库
#import "框架名称"
4. 卸载/更新 Cartage:
卸载Carthage:
$ brew uninstall Carthage
更新第三方框架:
- 更新多个框架:修改Cartfile文件,并重新执行
$ Carthage update
- 更新某个框架:
$ Carthage update 具体的框架名称
- 更新多个框架:修改Cartfile文件,并重新执行
5. Carthage的工作过程说明
① 创建一个Cartfile文件,在该文件中列出您想使用的框架
② 运行Carthage,获取并编译Cartfile文件中列出的框架
③ 把框架的二进制文件配置到项目中
二. Cocoapods
1. (更新)
如果在执行sudo gem install cocoapods的时候报以下错误:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
并且你的操作系统是EI Caption,可是尝试使用以下方法来代替上面的安装命令:
$ sudo gem install -n /usr/local/bin cocoapods
使用:
1.搜索cocoapods是否支持要使用的第三方类库
pod search SDWebImage
(可以把pod 'SDWebImage', '~> 3.7.3' 有关版本号的代码 复制一下)
2. 切换到工程目录路径下 cd 路径
创建一个Podfile文件
vim Podfile
按下“i”键,进入文件编辑模式(insert模式)插入模式
platform:ios,’7.0’
pod 'SDWebImage', '~> 3.7.3'
完成之后 ,按下esc,:wq 保存并退出
or 打开 Podfile 文件直接编辑
3. 安装Podfile文件
pod install
成功之后,再次运行工程,就要使用.xcworkspace(白色文件)打开工程
4. 如果再次在Podfile文件中增加其他类库的依赖,完成之后,需要更新 Podfile
pod update
使用别人带有cocoapods管理依赖的工程
1.cd 路径 (切换到工程路径下)
2.pod update (命令)