新公司新电脑,iOS 第三方库管理工具新安装;

下载安装 Cocoapods

1. 下载命令行工具:

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

2. Mac 本地安装 Ruby 环境:

1
brew install ruby

3. 用淘宝的 Ruby 镜像来访问 cocoapods

1
gem sources --remove https://rubygems.org/
1
gem sources -a http://ruby.taobao.org/

验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:

1
gem sources -l

终端出现下面提示则表示成功

1
2
3
*** CURRENT SOURCES ***

http://ruby.taobao.org/

4. 下载 cocoapods

1
sudo gem install cocoapods

使用 Cocoapods

1. 建立Podfile(配置文件)
新建项目,终端 cd 到项目总目录:

1
$cd /Users/zerocc/Desktop/ModulDemo

终端输入 vim Podfile
键盘输入i,切换到编辑模式并输入:

1
2
3
4
5
6
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'ModulDemo' do
pod 'AFNetworking', '~> 3.0'
end

输入完按 Esc,再输入“:”号切换到命令模式,然后再输入 wq;
回车后发现PodTest项目总目录中多一个Podfile文件,再 cd 到最初的项目总目录路径下终端输入如下命令:

1
pod install

2. 多个第三方库引入
编辑项目总目录下的 podfile 文件:

1
2
3
4
5
6
7
8
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'ModulDemo' do
pod 'AFNetworking', '~> 3.0'
pod 'MJExtension', '~> 3.0.13'

end

3. 更新引入第三库
若果Podfile中指定的依赖库版本不是写死的,当对应的依赖库有了更新,无论有没有Podfile.lock文件都会去获取Podfile文件描述的允许获取到的最新依赖库版本。

1
pod update

其它对于引入库的版本的小细节:

1
2
3
4
5
6
7
8
9
pod 'AFNetworking'      //不显式指定依赖库版本,表示每次都获取最新版本
pod 'AFNetworking', '2.0' //只使用2.0版本
pod 'AFNetworking', '> 2.0' //使用高于2.0的版本
pod 'AFNetworking', '>= 2.0' //使用大于或等于2.0的版本
pod 'AFNetworking', '< 2.0' //使用小于2.0的版本
pod 'AFNetworking', '<= 2.0' //使用小于或等于2.0的版本
pod 'AFNetworking', '~> 0.1.2' //使用大于等于0.1.2但小于0.2的版本
pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本
pod 'AFNetworking', '~>0' //使用最新版本,与不显示指定依赖库版本相同

4. 不同 Target 引入库的姿势
不同的Target需要不同的依赖库,则可以

1
2
3
4
5
6
7
8
9
10
platform :ios  
target :'Test' do
pod 'Reachability'
pod 'SBJson'
pod 'AFNetworking'
end

target :'Second' do
pod 'OpenUDID'
end

5. 查找第三方库

查找相应第三方库,查看其 pod 库指令等等都方便:

1
pod search MJ

对应搜索到的图后续补



如何移除Cocoapods

  1. 删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹
  2. 删除xcworkspace文件
  3. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用
  4. 在工程设置中的 Build Phases下删除 Check Pods Manifest.lock及Copy Pods Resources

ps:如果将cocoapods集成到工程中后不小心修改或删除了其相关文件导致无法便以通过例如:不小心把Pods.xcconfig给删除了然后出现:
diff: /../Podfile.lock: No such file or directory,
用上面的方法删除cocoapods后,再重新 $sudo pod install 一下就好了。
如果编译的时候出现权限问题,对工程文件夹
$sudo chmod 777 path-to-project-folder/*
$sudo chown 777 path-to-project-folder/*

碰到的问题:
https://stackoverflow.com/questions/30812777/cannot-install-cocoa-pods-after-uninstalling-results-in-error/30851030#30851030
https://segmentfault.com/q/1010000002926243