Carthage的使用方法,顺带CocoaPods

栏目: IOS · 发布时间: 5年前

内容简介:Carthage和CocoaPods都可以用来管理第三方框架。本文的目的是记录一下Carthage的使用方法,不过为了全面一点,也加上了CocoaPods。一、Carthage

Carthage和CocoaPods都可以用来管理第三方框架。

本文的目的是记录一下Carthage的使用方法,不过为了全面一点,也加上了CocoaPods。

一、Carthage

Carthage对项目无侵入性,管理的依赖只需编译一次,并且可以与CocoaPods并存。

注意:Carthage需要iOS 8+

1. 安装carthage

1.1 安装Homebrew

到下面这个网站安装Homebrew

https://brew.sh/index_zh-cn

或者直接在终端输入下面的指令

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1.2 更新Homebrew到最新版本

$ brew update

1.3 安装Carthage

$ brew install carthage

1.4 查看Carthage版本号

查看版本的同时,也可以验证是否安装成功

$ carthage version

2. 使用carthage

2.1 终端cd到项目所在文件夹

2.2 创建Carthage文件Cartfile

$ touch cartfile

Carthage的使用方法,顺带CocoaPods

创建Cartfile

2.3 编辑Cartfile并保存(可以使用Sublime进行编辑)

例如导入Alamofire,就在文件中写入github "Alamofire/Alamofire" ~> 4.7,如下图所示。

Carthage的使用方法,顺带CocoaPods

编辑Cartfile

2.4 开始导入

$ carthage update --platform iOS

成功之后文件夹的结构会变为下图这样。

Carthage的使用方法,顺带CocoaPods

注意:如果build文件夹中没有.framework文件,可以到Xcode的Preferences的Locations中,做下图这样的设置。

Carthage的使用方法,顺带CocoaPods

2.5 把.framework文件导入项目

下面三张图展示了添加过程。

项目名称 --> TARGETS --> General --> Linked Frameworks and Libraries -> Add Other... --> 选择Carthage/Build/iOS/Alamofire.framework文件 --> 导入成功

Carthage的使用方法,顺带CocoaPods

2.5.1

Carthage的使用方法,顺带CocoaPods

2.5.2

Carthage的使用方法,顺带CocoaPods

2.5.3

2.6 添加Run Script

参考下面两张图进行操作。

项目名称 --> TARGETS --> General --> Build Phases --> 点击左上角加号 --> New Run Script Phase --> 点开Run Script --> 在 Shell 下面的黑色框中填入/usr/local/bin/carthage copy-frameworks --> 点击Input Files下面的加号 --> 为framework添加访问路径$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework --> 完成

Carthage的使用方法,顺带CocoaPods

2.6.1

Carthage的使用方法,顺带CocoaPods

2.6.2

2.7 编译项目,完成!

Command + B编译项目,然后在需要的地方导入头文件,开始使用!

Carthage的使用方法,顺带CocoaPods

二、CocoaPods

1. 安装

1.1 更新gem到最新版本,终端中输入:

$ sudo gem update —system

1.2 删除自带的 ruby 镜像,终端输入:

$ gem sources --remove https://rubygems.org/

1.3 添加镜像,终端输入:

$ gem sources -a https://gems.ruby-china.org/

1.4 安装CocoaPods,终端输入:

$ sudo gem install cocoapods

1.5 配置CocoaPods,这一步等待时间可能会有点长。终端输入:

$ pod setup

2. 使用

2.1 打开终端,cd到项目路径下。

2.2 生成Podfile文件,终端输入:

$ pod init

2.3 编辑Podfile文件

在终端输入

$ vim Podfile

然后点击键盘上的 i 进入编辑模式,在空白处写上你要用的第三方,例如pod ‘WHKit’,然后依次点击键盘上的esc和冒号,输入wq两个字母,代表保存并退出。

你也可以直接用外部编辑文字的软件来写Podfile文件(推荐Sublime)

2.4 安装,终端输入:

$ pod install

完成!

注意: 打开项目的方式发生了改变,以后需要双击.xcworkspace来打开项目。

3. 补充

3.1 如何用双引号的方式导入第三方

打开项目之后就可以直接使用WHKit了,现在可以#import 或#import ,但是却不能#import “WHKit.h”。

解决这个问题的办法是在工程的Build Settings搜索User header search paths,然后在User header search paths中添加$(SRCROOT)并选择recursive。

Carthage的使用方法,顺带CocoaPods

3.2 如果还想添加其他的第三方,只要在Podfile里面接着添加,终端再执行pod install。

3.3 第三方库一般都有人在维护升级,我们需要隔断时间就更新一下工程中第三方库的版本。只需要终端输入命令pod update。

3.4 如果遇到pod install或者pod update慢的问题

原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,速度就会提升不少。命令如下:

$ pod install --verbose --no-repo-update
$ pod update --verbose --no-repo-update

3.5 当我们需要去掉某个第三方库时

只需要在Podfile删除该引入该库的语句,然后执行pod update或者pod install。

3.6 删除项目中的cocoapods

把项目文件中多出来的文件都删掉就可以了,恢复点击Test.xcodeproj的方式来启动程序。

不过为了项目正常运行,你需要手动导入已经使用的第三方。

3.7 升级CocoaPods版本

命令和安装CocoaPods的命令一样:

$ sudo gem install cocoapods

如果老版本升级cocoapods的时候提示Operation not permitted - /usr/bin/xcodeproj,改用命令:

$ sudo gem install -n /usr/local/bin cocoapods --pre

3.8 卸载CocoaPods

$ sudo gem uninstall cocoapods

当出现Successfully uninstalled cocoapods字样就代表已经成功卸载。

3.9 升级MacOS导致cocoapods不能正常使用

如果出现这种情况,首先升级ruby:

$ sudo gem update --system

然后重新安装:

$ sudo gem install -n /usr/local/bin cocoapods

后记

以上就是Carthage和CocoaPods的使用方法。

我的GitHub: https://github.com/remember17


以上所述就是小编给大家介绍的《Carthage的使用方法,顺带CocoaPods》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web 2.0 Architectures

Web 2.0 Architectures

Duane Nickull、Dion Hinchcliffe、James Governor / O'Reilly / 2009 / USD 34.99

The "Web 2.0" phenomena has become more pervasive than ever before. It is impacting the very fabric of our society and presents opportunities for those with knowledge. The individuals who understand t......一起来看看 《Web 2.0 Architectures》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具