终端安装cocoapods
1.检查当前镜像
gem sources -l
2.如果没有,则删除ruby镜像
gem sources --remove https://rubygems.org/
3.如果删不掉
sudo gem sources --remove https://rubygems.org/
4.配置新镜像
gem sources -a https://gems.ruby-china.org/
5.更新库
sudo gem update —system
6.开始安装
sudo gem install -n /usr/local/bin cocoapods
注意:如果出现以下错误:说明当前ruby版本比较低,需要更新到 version >= 2.2.2
, 去执行第6步的子步骤,否则直接执行第7步
6.1.安装 RVM baby
版本管理器
curl -L [get.rvm.io](http://get.rvm.io) | bash -s stable
等安装完成会出现下面这行提示:
` In case of problems: [https://rvm.io/helpandhttps://twitter.com/rvm_io](https://rvm.io/helpandhttps://twitter.com/rvm_io) `
6.2.执行
source ~/.bashrc
source ~/.bash_profile
测试是否安装正常
rvm -v
会提示下面这行信息:
` rvm 1.27.0 (latest) by Wayne E. Seguin, Michal Papis[https://rvm.io/]
6.3.用RVM升级Ruby查看当前ruby版本 `
ruby -v
rvm list known
提示如下:(中间显示部分省略)
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
……..
…….
# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head
# IronRuby
ironruby[-1.1.3]
ironruby-head
6.4.安装ruby 2.2.2 执行
rvm install 2.2.2
7.重新执行安装命令
sudo gem install -n /usr/local/bin cocoapods
pod setup
这一步比较慢(大概需要半个小时),CocoaPods已经在后台同步第三方类库, 耐心等待!
如果没有看到如上图的进度信息,想确定后台是否正在更新,可以新建终端窗口(快捷键: cmd+t
),输入以下命令:
cd ~/.cocoapods
du -sh
pod setup
的本质就是将https://github.com/CocoaPods/Specs上的Specs
项目clone到/Users/用户名/.cocoapods/repos
目录下。若此目录下已有Specs
项目,则会将项目更新到最新的状态。由于Specs
很大,容易导致pod setup
失败。这时就需要我们手动安装Specs
。若直接从github上下载zip文件,由于缺少git文件,会导致cocoapods不能使用。若用git clone
,由于文件过大,容易导致失败。但是使用GitHub Desktop软件,则会提高clone的成功率,并且会给出clone的进度。更新本地pods库,更新过程可能有点慢。
安装成功!!!
8.卸载CocoaPods
sudo gem unstall cocoapods
9.查看当前CocoaPods版本
pod --version
10.升级CocoaPods
//升级到最新的正式版
sudo gem install -n /usr/local/bin cocoapods
//升级到最新版(可升级到最新beta版)
sudo gem install -n /usr/local/bin cocoapods --pre
//升级到指定版本
sudo gem install -n /usr/local/bin cocoapods -v 1.6.1
11.降级CocoaPods
sudo gem uninstall cocoapods
//然后选择对应版本前的数字回车就OK了
CocoaPods 集成第三方库
一.客户端集成第三方库
只是界面化了终端添加第三方的步骤,还是需要预先通过终端在电脑上安装CocoaPods;不建议使用客户端,有时候会出问题。
使用方法:
http://blog.sina.com.cn/s/blog_133384b110102x1ee.html
二.终端集成第三方库
1.转到当前工程的Cocoapods文件夹
cd 文件夹路径(拖拽当前工程)
2.搜索你要加载的第三方框架
pod search 第三方库名
2.1 如果出现下面的错误:
` [!] Unable to find a pod with name, author, summary, ordescriptionmatching `AFNetworking` `
解决方案:
rm ~/Library/Caches/CocoaPods/search_index.json
pod search 第三方库名
2.2 如果结果没有出现该库的最新版本,执行:
pod repo update
3.新建文件 Podfile
pod init
初始化pod (在项目文件夹下创建默认的 Podfile), 在本地工程中会生成一个保色的Podfile文件, 用来填写下载指令;
如果不用此方法创建Podfile文件夹,例如使用touch Podfile
/vim Podfile
会创建一个没有内容的Podfile文件,所以这一步别省
4.编辑Podfile文件
vim Podfile
Podfile文件内容如下:
#最低支持的 iOS 版本
platform :ios, '8.0'
#添加第三方库的target
target '工程名' do
#框架列表
#如果指定版本号:
pod 'AFNetworking', '3.1.0'
#模糊指定版本号:
pod 'WechatOpenSDK', '~> 1.7'
#如果不指定版本号,会自动下载最新版本:
pod 'SDWebImage'
#我们可以直接指定某一个依赖的podspec,这样就可以使用公司内部的私有库
pod 'MyCommon', :podspec => 'https://yuantiku.com/common/myCommon.podspec'
end
1.带#的部分是注释,可以删除,将要下载的第三方信息粘贴在
target
和end
之间(粘贴之前先进入编辑状态);
2.终端vim文件: 按i
可编辑 ,esc
退出编辑,:wq
可保存退出,可粘贴多个第三方类(如果不进入编辑状态粘贴,会丢失要粘贴文本的部分信息)。
第5步和第6步只需执行其中一步
5.在项目中第一次使用CocoaPods, 进行安装的时候使用这个命令; 在Podfile中增加或删除某个pod后, 也是使用这个命令
pod install
6.更新特定的pod时使用该命令
pod update PODNAME
6.1 当运行pod update PODNAME
时, CocoaPods
将尝试查找PODNAME
更新的pod版本, 会忽略掉Podfile.lock
中已经存在的版本.
6.2 如果直接运行pod update
, 没有指定PODNAME
, CocoaPods
会把Podfile
中所有的pod
都更新到最新版本.(如果已经是最新版本了, 则不更新)
7.预期用途
1.使用
pod update PODNAME
, 将只能更新特定的pod
(检查是否存在新版本并相应地更新pod). 相反,pod install
不会尝试更新已安装的pod的版本.
2.当向Podfile
中添加一个pod
时, 应该运行pod install
, 而不是用pod update
来安装这个新pod
.
3.只有在想要更新特定pod
(或所有的pod
)的版本时才会使用pod update
.
8.必须提交的 Podfile.lock
有时候可能你不想提交Pods目录到源代码管理中. 但是在多人开发的情况下, 一定要提交 Podfile.lock
这个文件, 因为这个文件里面记录了你的Podfile
中所有pod
的版本信息. 为避免你的Podfile
中的pod
版本和别人的Podfile
中的pod
发生版本不一样的情况, 而导致出现函数找不到或者其他的错误.
9.关于 pod install
和 pod update
的补充
正确的使用 pod install 和 pod update
不更新 podspec:
在执行pod update
时,会默认先更新一次podspec
索引。使用--no-repo-update
参数可以禁止其做索引更新操作。如下所示:
pod install --no-repo-update
pod update --no-repo-update
10.更新-错误信息(如果没出错,请跳过该步骤)
错误1:
解决办法:
cd /Users/lanouhn/Desktop/UISenior-CocoaPods
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
错误2:
` CocoaPods was not able to update the `master` repo 错误 `
解决办法:
方法一:快速更新本地pod库(更新本地cocoapods的spec资源配置信息),比较耗时
pod repo update
pod install
或者 pod install --repo-update
方法二:快速更新当前pod管理的库, 较快
//只会更新当前工程pod中管理的库,不更新pod本地库(不会去把cocoaPods管理的库全部更新到本地)
pod update --verbose --no-repo-update
方法三:快速更新当前pod管理的库,最快
//快速列出当前pod管理的分支,如果错误提醒提示`master` repo 错误 `,就只去更新 master 分支就行了,其他分支同理
pod repo list
pod repo update master
注意:虽然上述命令会解决当前问题,但又会衍生出其他问题,如果出现上述情况,先执行pod setup
再执行 pod update
。
解决办法:在终端使用pod update
命令,更新SDK, 不可加入 --no-repo-update
参数,若添加后仅从本地Cocoapods
库中查找SDK,不再更新线上SDK。如果本地存在SDK会直接使用本地SDK版本(不是线上最新版本),若本地不存在SDK会产生错误。 也不建议使用 pod install
命令,此命令不会更新最新版本SDK。
11.️安装过CocoaPods的工程选取以下文件运行程序
12.导入头文件,
使用 #import
;大多数使用#import "name"
Cocoapods 1.6.0 后可使用@import name;
13.增、删、改 第三方库
vim Podfile
在target "工程名" do和end 之间编辑
添加:增加一条对应的pod语句:
pod 'AFNetworking', '3.1.0'
(如果这样写:pod 'AFNetworking', '~> 3.1.0'
,每次会自动更新到最新版本)
删除:直接把这一条语句移除
更新:直接修改对应的版本号
完成之后退出,执行第5步/第6步️
更新指定的库
pod update MJRefresh
14.生成第三方库的帮助文档
# 使用Objective-C的文档生成工具:appledoc
//生成第三方库的帮助文档,并集成到 Xcode 中:
brew install appledoc
15.移除工程中的CocoaPods
1.删除工程文件夹下的Podfile
、Podfile.lock
、xcworkspace
和Pods
文件夹
2.打开
xcodeproj
文件,删除项目中的
Pods
文件夹及
Pods.xcconfig
引用和
libpods.a
3.打开
Build Phases
选项,删除
Check Pods Manifest.lock
和
Copy Pods Resources
: