CocoaPods 的安装、集成第三方库

终端安装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
CocoaPods 的安装、集成第三方库_第1张图片
解决安装ruby遇到的问题

7.重新执行安装命令

sudo gem install -n /usr/local/bin cocoapods
pod setup 

这一步比较慢(大概需要半个小时),CocoaPods已经在后台同步第三方类库, 耐心等待!

CocoaPods 的安装、集成第三方库_第2张图片

如果没有看到如上图的进度信息,想确定后台是否正在更新,可以新建终端窗口(快捷键: 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 的安装、集成第三方库_第3张图片
CocoaPods降级

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.带#的部分是注释,可以删除,将要下载的第三方信息粘贴在targetend之间(粘贴之前先进入编辑状态);
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 installpod 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 错误 `
CocoaPods 的安装、集成第三方库_第4张图片
错误2

解决办法:

方法一:快速更新本地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
CocoaPods 的安装、集成第三方库_第5张图片
pod repo list

注意:虽然上述命令会解决当前问题,但又会衍生出其他问题,如果出现上述情况,先执行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
CocoaPods 的安装、集成第三方库_第6张图片
更新指定的库

14.生成第三方库的帮助文档

# 使用Objective-C的文档生成工具:appledoc

//生成第三方库的帮助文档,并集成到 Xcode 中:
brew install appledoc

15.移除工程中的CocoaPods

1.删除工程文件夹下的PodfilePodfile.lockxcworkspacePods文件夹

CocoaPods 的安装、集成第三方库_第7张图片

2.打开 xcodeproj文件,删除项目中的 Pods文件夹及 Pods.xcconfig引用和 libpods.a

CocoaPods 的安装、集成第三方库_第8张图片

3.打开 Build Phases选项,删除 Check Pods Manifest.lockCopy Pods Resources

CocoaPods 的安装、集成第三方库_第9张图片

你可能感兴趣的:(CocoaPods 的安装、集成第三方库)