IOS使用carthage小结

carthage简介

  • Carthage 是一个依赖管理工具,替代CocoaPods,较CocoaPods来说不牵扯 XCode 项目文件,轻耦合,更灵活。
  • Carthage 是由 Swift 语言写的,只支持动态框架,只支持 iOS8+。

carthage安装

使用Homebrew来安装carthage

  • 安装homebrew:直接打开终端,粘贴:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后回车,让系统自行安装就好了
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
IOS使用carthage小结_第1张图片
会看见这个画面然后输入你要依赖的项目,例如我想要依赖Alamofire:
IOS使用carthage小结_第2张图片
输入好了之后按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大杂烩,历史文章)