Cocoapods 安装和基本使用

Posted by Calvin on 2017-10-11

公司电脑莫名奇妙的没有了 Cocoapods 环境,所以又重新安装了一下,在此做一个记录。

安装

Mac 下都自带 ruby,使用 rubygem 命令即可下载安装。

打开 Terminal,然后输入以下命令:

sudo gem install -n /usr/local/bin cocoapods
pod setup

# 注意:苹果系统 OS X EL Capitan(版本10.11.3) 后安装代码:sudo gem install -n /usr/local/bin cocoapods

10.11之前用 sudo gem install cocoapods

如果 gem 版本太老,可以尝试用如下命令升级 gem:

sudo gem update --system

还有一点需要注意,pod setup 在执行时,会输出 Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods 目录下。

另外,ruby 的软件源 https://rubygems.org 被墙了,为了方便我们使其替换为国内淘宝的源:

查看 Ruby 源

gem sources -l

移除现有 Ruby 默认源

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

将 Ruby 源指向淘宝镜像

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

检测和重新安装

最后检查 pod 是否安装

pod --version

在这里能检测到版本就代表已经安装

如果出现 pod: command not found,说明还没有安装。

如果已安装想要重新安装,输入以下命令卸载 pod:sudo gem uninstall cocoapods

然后执行安装下载命令

sudo gem install -n /usr/local/bin cocoapods
pod setup

使用

新建一个项目,在终端 cd 到该项目的根目录下

pod init

打开生成的 Podfile 文件并设置

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'TestCocos' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for TestCocos
pod 'MBProgressHUD', '~> 1.0.0'
pod ‘AFNetworking’, ‘~> 3.1.0’
end

Podfile 文件设置成功后

pod install

CocoaPods 会帮我们下载好代码,设置好编译参数,配置好 framework, library。

查找第三方库

你如果不知道 cocoaPods 管理的库中,是否有你想要的库,那么你可以通过 pod search 命令进行查找,例如查找 afnetworking

$ pod search afnetworking
-> AFNetworking (3.1.0)
A delightful iOS and OS X networking framework.
pod 'AFNetworking', '~> 3.1.0'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 3.1.0, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3, 3.0.0-beta.2, 3.0.0-beta.1,
2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4,
2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1,
1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1,
0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Subspecs:
- AFNetworking/Serialization (3.1.0)
- AFNetworking/Security (3.1.0)
- AFNetworking/Reachability (3.1.0)
- AFNetworking/NSURLSession (3.1.0)
- AFNetworking/UIKit (3.1.0)
-> AFNetworking+AutoRetry (0.0.5)
Auto Retries for AFNetworking requests
pod 'AFNetworking+AutoRetry', '~> 0.0.5'
- Homepage: https://github.com/shaioz/AFNetworking-AutoRetry
- Source: https://github.com/shaioz/AFNetworking-AutoRetry.git
- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]