简介

CocoaPods是专门为iOS工程提供第三方依赖库的管理工具,类似Node.js中的npm

安装

1
2
3
4
5
6
7
8
# 移除原生镜像
gem sources --remove https://rubygems.org/
# 添加国内镜像
gem sources --add https://gems.ruby-china.com/
# 安装CocoaPods
gem install cocoapods
# 设置
pod setup

使用

.xcodeproj文件所在目录下

1
2
# 初始化
pod init

此时目录下会创建一个Podfile的文件,编辑文件

如果使用Swift,需要在里面添加use_frameworks!这行代码,里面默认应该是注释的,打开即可

1
2
# 查找需要的框架
pod search afn

如果报错Unable to find a pod with name, author, summary, or description matching AFNetworking,使用另一种方式安装Cocoapods

1
gem install cocoapods --pre

比如我们需要用AFNetworking,在Podfile中添加

1
pod 'AFNetworking'

保存后在终端输入命令安装,普通安装会默认升级CocoaPods的spec仓库,速度会很慢,此时需要在安装时添加参数--no-repo-update

1
2
# 安装框架
pod install --no-repo-update

完成后在项目中会多一个.cworkspace的文件,关闭当前Xcode工程,之后打开项目都用.cworkspace这个文件

install只是第一次安装时用,之后如果修改Podfile使用update

1
pod update --no-repo-update

如果报错
[!] Unable to add a source with url https://github.com/CocoaPods/Specs.git named cocoapods.
You can try adding it manually in /Users/bluepanda/.cocoapods/repos or via pod repo add.

使用以下方式手动进入repo目录,从Git上克隆master分支,其实主要原因应该是被墙,用梯子给git上一个代理,就可以了

1
2
3
4
5
6
7
8
# 设置git代理,具体端口看梯子的设置
git config --global http.proxy 'socks5://127.0.0.1:1086'
git config --global https.proxy 'socks5://127.0.0.1:1086'
# 执行手动克隆
pod setup
pod repo remove master
cd ~/.cocoapods/repos
git clone https://github.com/CocoaPods/Specs master

如果报错[!] CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/0/0/e/AFNetwork/0.1.0/AFNetwork.podspec.json Response: Couldn't connect to server

需要在Podfile中添加以下代码

1
source 'https://github.com/CocoaPods/Specs.git'

开启梯子,再执行安装命令

1
pod install

使用

OC使用第三方框架时需要加载头文件

1
#import <AFNetworking/AFNetworking.h>

Swift使用第三方框架需要加载Pods项目下Pods目录中的文件夹名称

1
import AFNetworking