Cocoapods的安装与使用

一、安装

1、CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令:

sudo gem install cocoapods

执行成功显示:

.......

1 gem installed

安装过程中可能遇到的问题:

1⃣️执行完install命令半天没反应。

原因:国内防火墙阻止了https://rubygems.org/的访问,可以用淘宝的Ruby镜像来访问cocoapods。

解决方法:

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

gem sources -a https://ruby.taobao.org/

想要验证是否替换成功。可以执行:

gem sources -l

执行成功显示:

*** CURRENT SOURCES ***

https://ruby.taobao.org/

执行成功后再执行 sudo gem install cocoapods 命令进行安装。

2⃣️报错:ERROR:  While executing gem ... (Errno::EPERM)

            Operation not permitted - /user/local/bin

原因:系统版本升级到10.11.1后,cocoapods安装路径改变

解决方法:

mkdir -p $HOME/Software/ruby

export GEM_HOME=$HOME/Software/ruby

gem install cocoapods

export PATH=$PATH:$HOME/Software/ruby/bin

3⃣️版本过老。解决方法:

sudo gem update --system

2、install命令执行成功后,执行:

pod setup

执行成功显示:

Setting up CocoaPods master repo

.........

Setup completed

 注意:执行第一句的时候会等待比较久的时间,这步其实是cocapods下载信息到~/.cocoapods 目录下。查看下载进度命令:

cd ~/.cocoapods

du -sh*

二、使用

利用Cocoapods在项目中导入AFNetworking类库:

为了确保AFNetworking支持Cocoapods,可以用CocoaPods的搜索功能验证一下。在终端中输入:

pod search AFNetworking 

执行成功会显示AFnetworking类库的一些信息。说明AFNetworking支持Cocoapods。

1⃣️创建一个工程,在这个工程目录下创建一个Podfile文件(名字只能时Podfile)。在终端上输入:

vim Podfile (或者 touch Podfile)

在Podfile文件下输入以下文字:

platform:ios,'7.0'

pod "AFNetworking","~>2.0"

然后 :wq  保存。

执行成功的话,你的工程目录下会多出一个Podfile文件。

2⃣️下载对应的类库,执行命令:

pod install

执行成功显示:

Updating local specs repositories

Analyzing dependencies

Downloading dependencies

Installing AFNetworking (2.6.1)

Generating Pods project

Integrating client project

[!] Please close any current Xcode sessions and use `CocoapodsDemo.xcworkspace` for this project from now on.

注意:最后一句话的意思是:以后打开项目就用.xcworkspace打开,而不是之前的.xcodeproj文件

执行成功多出三个文件:Pods、Podfile.lock、.xcworkspace文件。

添加一个库:

 vim Podfile 打开文件,添加SDWebImage。

platform :ios
pod 'SDWebImage'

保存退出。

运行:pod update 

这样是就把SDWebImage 库下载并和本地项目关联起来了,这时Xcode提示你更新项目

点Revert。

这时你看项目pod部分,多了SDWebImage库。

原文地址:https://www.cnblogs.com/huahua0809/p/4933536.html