ios开发整理

【iOS】Carthage的使用方法,顺带CocoaPods

2018-03-16  本文已影响2人  软件iOS开发

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

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

一、Carthage

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

注意:Carthage需要iOS 8+

1. 安装carthage

1.1 安装Homebrew

到下面这个网站安装Homebrew

1

https://brew.sh/index_zh-cn

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

1

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

1.2 更新Homebrew到最新版本

1

$ brew update

1.3 安装Carthage

1

$ brew install carthage

1.4 查看Carthage版本号

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

1

$ carthage version

2. 使用carthage

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

2.2 创建Carthage文件Cartfile

1

$ touch cartfile

创建Cartfile

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

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

编辑Cartfile

2.4 开始导入

1

$ carthage update --platform iOS

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

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

2.5 把.framework文件导入项目

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

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

2.5.1

2.5.2

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 --> 完成

2.6.1

2.6.2

2.7 编译项目,完成!

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

二、CocoaPods

1. 安装

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

1

$ sudo gem update —system

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

1

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

1.3 添加镜像,终端输入:

1

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

1.4 安装CocoaPods,终端输入:

1

$ sudo gem install cocoapods

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

1

$ pod setup

2. 使用

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

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

1

$ pod init

2.3 编辑Podfile文件

在终端输入

1

$ vim Podfile

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

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

2.4 安装,终端输入:

1

$ pod install

完成!

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

3. 补充

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

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

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

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

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

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

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

1

2

$ 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的命令一样:

1

$ sudo gem install cocoapods

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

1

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

3.8 卸载CocoaPods

1

$ sudo gem uninstall cocoapods

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

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

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

1

$ sudo gem update --system

然后重新安装:

1

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

后记

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

上一篇下一篇

猜你喜欢

热点阅读