CocoaPods
2016-06-21 本文已影响551人
大斌小姜
[TOC]
安装
- 更换Ruby镜像地址
(taobao镜像地址已换为https,需注意)(已更换的,则跳过)
$ gem sources -a https://ruby.taobao.org/
MARK:淘宝源不再维护,由 Ruby China 负责。Ruby China 源地址:https://gems.ruby-china.org/ ,如果遇到 SSL 证书问题,你又无法解决,请直接用 http://gems.ruby-china.org
避免 SSL 的问题。
$ gem sources --add https://gems.ruby-china.org/
$ gem sources --remove https://rubygems.org/
$ gem sources -l
# 确保只有 gems.ruby-china.org
- 安装命令
$ sudo gem install cocoapods
- 如果安装出现这种错误提示,则使用下边的命令安装
// 错误提示
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
// 安装命令
$ sudo gem install -n /usr/local/bin cocoapods
- 如果提示这个错误,更新一下gem,然后再安装
ERROR: While executing gem ... (TypeError)
no implicit conversion of nil into String
// 更新gem
sudo gem update --system
降低版本或卸载
- 查看gems中本地程序包
$ gem list
- 移除cocoapods 程序包(all或者指定版本)
$ sudo gem uninstall cocoapods
$ sudo gem uninstall cocoapods-core
$ sudo gem uninstall cocoapods-downloader
$ sudo gem uninstall cocoapods-plugins
$ sudo gem uninstall cocoapods-search
$ sudo gem uninstall cocoapods-stats
$ sudo gem uninstall cocoapods-trunk
$ sudo gem uninstall cocoapods-try
使用
- 查看是否支持
$ pod search SDWebImage
- 新建一个名为 Podfile 的文件,以如下格式,将依赖的库名字依次列在文件中,如下,然后你将编辑好的 Podfile 文件放到你的项目根目录中(注意,平台号对应工程的deployment target,必须加上)
$ cd /Users/wangzz/Desktop/Demo
$ touch Podfile
旧版本的配置写法
platform :ios, '7.0'
pod 'JSONKit', '~> 1.4'
pod 'Reachability', '~> 3.0.0'
pod 'AFNetworking', '~> 3.0.4' #网络库
1.0版本之后,格式有了些变化
use_frameworks! # 如果引入swift库,则需要加这句
platform :ios, '9.0' #平台号
target 'MyApp' do #工程名
pod 'AFNetworking', '~> 3.0.4' #网络库
pod 'RDVTabBarController', '~> 1.1.9' #tabbar
pod 'Masonry', '~> 0.6.4' #自动布局
pod 'ReactiveCocoa', '~> 4.0.1'
pod 'WebViewJavascriptBridge', '~> 5.0' #JS桥接
end
- 在命令行通过cd指令进入到项目根目录
- 执行"pod install" (如果终端出现updating local specs repositories,那么请用ctrl+c强制结束命令进程,然后执行 pod install --verbose --no-repo-update)
- 现在,你的所有第三方库都已经下载完成并且设置好了编译参数和依赖,你只需要记住如下 2 点即可:
-- 使用 CocoaPods 生成的 .xcworkspace 文件来打开工程,而不是以前的 .xcodeproj 文件。
-- 每次更改了 Podfile 文件,你需要重新执行一次pod update命令。