您的位置:首页 > 移动开发 > IOS开发

IOS使用carthage小结

2016-01-19 15:35 260 查看

carthage简介

Carthage 是一个依赖管理工具,替代CocoaPods,较CocoaPods来说不牵扯 XCode 项目文件,轻耦合,更灵活。

Carthage 是由 Swift 语言写的,只支持动态框架,只支持 iOS8+。

carthage安装

使用Homebrew来安装carthage

安装homebrew:直接打开终端,粘贴:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"[/code] 
然后回车,让系统自行安装就好了

ps:如果要求用户输入密码什么的,会发现输入没有反应的话,是因为密码输入不会显示,连*都不会显示,直接输入完成回车就好。

然后在终端输入
brew update
回车获取最新版本

然后继续输入
sudo brew install carthage
安装carthage(卸载命令:
sudo brew uninstall carthage
)

不过这个时候安装可能会报如下错误

Error: Could not create /usr/local/Cellar

Error: Permission denied -/Library/Caches/Homebrew/Formula/carthage.brewing

解决方法 :

解决第一个Error

1 -> 命令:
sudo chown -R $USER /usr/local


解决第二个Error

2 -> 命令:
sudo chown -R $USER /Library/Caches/Homebrew/


最终
brew install carthage
就静静的等待安装就行了

至此 carthage 就安装完成了

新建Cartfile文件

第一步:进入你要创建Cartfile文件的目录(可选)
这个目录看个人喜好自己设定,我喜欢将这个目录设定为我项目的目录中,毕竟是给我这个项目添加依赖嘛。

OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念。

你在桌面上看到的硬盘都挂在 /Volumes 下。

ls //查看当前目录列表
cd dirname //进入dirname目录
ls /Volumes/ //查看盘符




第二步:创建Cartfile文件
输入以下命令:
vim Cartfile




会看见这个画面然后输入你要依赖的项目,例如我想要依赖Alamofire:



输入好了之后按ESC

再输入
:wq
然后回车(注意要英文输入)

这样就把文件创建好了

ps:vim命令集

>= 1.0 for “at least version 1.0” 1.0以上
~> 1.0 for “compatible with version 1.0” 最好是1.0,
== 1.0 for “exactly version 1.0” 必须是1.0
什么也不写,默认是最新版本


示例:

# Require version 2.3.1 or later
github "ReactiveCocoa/ReactiveCocoa" >= 2.3.1

# Require version 1.x
github "Mantle/Mantle" ~> 1.0    # (1.0 or later, but less than 2.0)

# Require exactly version 0.4.1
github "jspahrsummers/libextobjc" == 0.4.1

# Use the latest version
github "jspahrsummers/xcconfigs"

# Use the branch
github "jspahrsummers/xcconfigs" "branch"


终端运行

终端执行命令:
carthage update


等待执行完成,然后会发现在该目录下多出来几个文件

依赖

打开 Carthage文件夹 进入Bulid。以iOS为例,进入iOS文件夹找到*.framework拖到项目中

然后在项目中general–>Embedded Binaries 中点击+ –>add other –>选中*.framework即可

以上这个过程作为小白的我弄了好久,各种不顺,在此记录一下,以备后用!

测试:

因为我安装的是:Alamofire 网络框架

在测试的时候执行代码:

Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
.response { (request, response, data, error) in
print(request)
print(response)
print(error)


会报错, 提示禁止http明文传输

这时候在info.plist

添加一行:app transport Security setting

再点击+号添加:

allow arbitrary Loads就行了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios xcode swift