cococapods install and usage

官方地址 cocoapods

CocoaPods 是一个iOS开发的类库管理工具,本身使用 ruby 编写,托管于 github,用于项目中一个类库用到其他类库的依赖管理

很多开源iOS项目都支持 CocoaPods

  • 检查 Ruby 环境
1
$ ruby -v

当然OS X 10.8 以上系统是默认带有 Ruby 和 Python,也可以使用 brew 安装的 ruby

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$ brew info ruby
# set proxy
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
$ gem sources -l

## 配置环境变量 ~/.zshrc 添加

# for brew install ruby
export PATH="$(brew --prefix)/opt/ruby/bin:$PATH"
# for gem install xxx --user-install
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH


## then install pod as brew install ruby
$ gem install cocoapods

终端键入

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ gem install cocoapods
$ pod repo update

$ cd ~/.cocoapods/repos
$ git clone https://github.com/CocoaPods/Specs

# or use tsinghua
$ pod repo remove master
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master

$ pod repo list
$ pod setup

等候安装就行,如果出现无法安装,请尝试镜像

安装成功校验

1
$ pod --help

能正常打印 pod 帮助文档即可

1
2
3
4
5
6
7
8
# Install clean
$ sudo gem install cocoapods-clean
# Run deintegrate in the folder of the project
$ pod deintegrate

# Modify your podfile (delete the lines with the pods you don't want to use anymore) and run
$ pod install
$ pod update
  • 检查网络

因为某种不可抗力,Ruby的资源站点访问会非常吃力,不妨试验一下官方地址 https://rubygems.org/

能打开说明可能安装成功,当然也可以使用国内镜像,这里推荐镜像 https://gems.ruby-china.com/

1
2
3
4
# 添加淘宝镜像
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
# 检查淘宝镜像
$ gem sources -l
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 新版的 CocoaPods 不允许用pod repo add直接添加master库了,但是依然可以
$ cd ~/.cocoapods/repos
$ pod repo list
$ pod repo remove master
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
# 最后进入自己的工程,在自己工程的podFile第一行加上
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'

# 恢复
$ pod repo remove master
$ pod repo add master https://github.com/CocoaPods/Specs.git

# 旧版 pod
$ pod repo remove master
$ pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git
$ pod repo update
$ pod setup

# 常用指令

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

重置为官方

1
2
3
4
5
6
7
8
9
$ cd ~/.cocoapods/repos
$ pod repo remove master
$ git clone https://github.com/CocoaPods/Specs master

$ pod repo update
$ pod setup

# 最后进入自己的工程,在自己工程的podFile第一行加上
sources 'https://github.com/CocoaPods/Specs'
1
$ pod search AFNetworking

稍等片刻就会输出 目前最新的AFNetworking的版本信息

在你想导入的XCode项目目录中创建文件

1
vim Podfile

在文件中键入文字

1
2
platform :ios, '8.0'
pod "AFNetworking", "~> 3.0.4"

当前AFNetworking支持的iOS最高版本是iOS 8.0, 要下载的AFNetworking版本是3.0.4

具体支持请查阅 AFNetworking

确认文件内容,保存后在这个工程目录下运行

1
$ pod install

运行成功后,文件夹内会出现额外的一个文件 *.xcworkspace,一定使用 *.xcworkspace 打开

在iOS代码中,使用

1
2
import <AFNetworking.h>
import "AFNetworking.h"

首先拉取完整镜像

1
$ git clone --mirror https://github.com/CocoaPods/Specs.git

编辑镜像配置 .git/config

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[core]
repositoryformatversion = 0
filemode = true
bare = true
[remote "origin"]
fetch = +refs/heads/*:refs/heads/*
fetch = +refs/tags/*:refs/tags/*
mirror = true
url = https://github.com/CocoaPods/Specs.git
[remote "mirrors"]
url = your.git.remote/Specs.git
mirror = true
skipDefaultUpdate = true

定期同步 脚本 specssync.sh

1
2
git fetch remote
git push mirrors

配置同步任务 cronjob

1
30 * * * * /home/git/specssync.sh > /var/log/specssync.log 2>&1

这里是每半小时同步一次