iOS学习交流代码管理工具iOS黑科技

Cocoapods使用----配置/安装/使用/完全卸载(一)

2016-05-31  本文已影响5237人  simuty

CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。1. 省去手动引入相关类库的繁琐 2. 大部分常用第三方都支持CocoaPods管理 3. 第三方更新更简单 4. 一次配置, 次次省心.

转下篇---Cocoapods使用----可视化工具(二)

文章目录

一. 查看/升级ruby环境
二. 配置环境
三. 安装CocoaPods
四. 安装CocoaPods
1. 删除CocoaPods;
2.下载CocoaPods;
3.检测版本;
4.下载并搜索第三方文件. 
4.1 xcode路径问题以及解决方法
4.2 下载卡着不动的问题以及解决方法
4.3 下载中途中断问题
4.4 搜索中找不到第三方的问题以及解决方法.
五. 使用Cocoapods
5.1. 新建xcode项目;
5.2. 搜索第三方;
5.3 切换至项目目录并创建Podfile文件;
5.4 下载第三方
5.4.1 问题一: 不支持任意的target
5.4.2 问题二: 
六. 使用/验证
七. Mac彻底删除CocoaPods的方法

一.查看/升级ruby环境

系统默认安装ruby环境, 查看

gem sources -l

默认在终端中出现

*** CURRENT SOURCES ***
https://rubygems.org/

查看ruby版本

ruby -v
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]

今天重新安装Cocoapods时出现一个问题

ERROR:  Error installing cocoapods:
    activesupport requires Ruby version >= 2.2.2.

目前安装Cocoapods需要的ruby版本需要高于2.2.2

升级Ruby请看OS X----Homebrew配置Ruby

如果你可以畅游互联网, 直接执行安装命令进行安装:

$ sudo gem install cocoapods


否则请继续往下看

二. 配置环境

使用国内淘宝的ruby镜像, 命令如下

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

验证是否安装成功

$  gem sources -l
*** CURRENT SOURCES ***
https://ruby.taobao.org/

以上表示安装成功;

三. 安装CocoaPods

<不想进坑遨游的,建议直接跳过该步骤>
$ sudo gem install cocoapods

显示安装完成; 很顺利, pod search **

-bash: pod: command not found

网上搜了一些, 都说10.11后该使用sudo gem install -n /usr/local/bin cocoapods; 但是不好用;

四. 安装CocoaPods

  1. 删除电脑上的CocoaPods<默认没有>
$ sudo gem uninstall cocoapods


Remove executables:
    pod, sandbox-pod

in addition to the gem? [Yn]                          
Removing pod
Removing sandbox-pod
Successfully uninstalled cocoapods-1.0.0


-----------

#仅此下载cocoapods, 并未下载第三方库
$ sudo gem install -n /usr/local/bin cocoapods  
#省略下载过程


$ sudo chmod +rx /usr/local/bin

2.检测版本

pod --version


3.下载并搜索第三方文件.
使用命令: ~$ pod search 第三方名称即可下载; 在此会下载第三方文件, 会很慢,详细见4.2;


4.1 xcode路径问题以及解决方法

问题如下:

第一个问题Xcode路径问题---xcrun: error: active developer path

$ pod search afn

Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

xcrun: error: active developer path ("/Users/wangbing/Desktop/Xcode71.app/Contents/Developer") does not exist, use `xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools (or see `man xcode-select`)

解决方法:
解决办法就是:将Xcode的路径,重新设置一下。
sudo xcode-select --switch “Xcode的path,直接在应用程序里面找到Xcode,拖拽到这里”

4.2 下载卡着不动的问题以及解决方法

问题: 一直卡在Setting up CocoaPods master repo:

$ pod search afn

Setting up CocoaPods master repo

这样说明Cocoapods在将它的信息下载到~/.cocoapods里;CMD+N 再次打开一个终端页面, 执行如下操作:

#cmd + n 再次打开一个终端窗口
$ cd  ~/.cocoapods
#隔一会输入一次下边命令,这个目录最终大小是七百八M,就是完成了 
$ du -sh *
4.3 下载中途中断问题

下载了好久之后报出这个错误:

[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...
error: RPC failed; result=56, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

4.3.1 方法一

$ rm -fr ~/.cocoapods/repos/master 

重新下载

4.3.2 解决方法二:

1.如果有电脑已经安装过Cocoapods,将该电脑上的根目录下的隐藏文件夹(~/.cocoapods/repos)拷贝至自己电脑上的这个路径下(~/.cocoapods/repos)

4.4 搜索中找不到第三方的问题以及解决方法

可能再次出现的错误, 如果没报错, 跳过该步骤, 直接在项目中使用--即第五步
问题如下:

$ pod search yymodel
Setting up CocoaPods master repo
Setup completed
[!] Unable to find a pod with name, author, summary, or descriptionmatching `yymodel`

解决方法

$ rm ~/Library/Caches/CocoaPods/search_index.json

$ pod search yymodel

五.使用Cocoapods

5.1. 新建xcode项目;
项目目录
5.2. 搜索第三方;

命令: pod search 第三方名称

终端搜索 github中的介绍
5.3 切换至项目目录并创建Podfile文件;

使用命令行 cd 项目路径, 并且录入相应的第三方, 如下图: ;

创建Podfile
1. 进入插入模式: i;
2. 保存退出, esc : wq 
3. 强制退出, esc : q !

编辑内容

下载Podfile中的第三方, 在以前用pod install, 建议使用以下命令:

$ pod install --verbose --no-repo-update

网上下载的第三方如果使用Cocoapods, 但是运行发现后缀Pods.xcodeproj爆红, 则需要重新下载


$ cd 项目路径
$ pod install --verbose --no-repo-update


5.4.1 问题一: 不支持任意的target
出现错误Cocoapods: The dependency `AFNetworking ` is not used in any concrete target

解决方法

#设置项目版本
platform :ios, ‘8.0’
target :项目名 do
#第一个第三方
pod 'AFNetworking', '~> 3.1.0'
#第二个第三方
pod 'YYModel', '~> 1.0.4'

end


5.4.2 问题二:
MacBook2-6:11Test admin$ pod install --verbose --no-repo-update

[!] Invalid `Podfile` file: syntax error, unexpected tINTEGER, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
target :11Test  do
          ^.

 #  from /Users/admin/Desktop/11Test/Podfile:3
 #  -------------------------------------------
 #  platform :ios, '7.0'
 >  target :11Test  do
 #  pod 'AFNetworking', '~> 3.1.0'
 #  -------------------------------------------

解决问题

网上http://stackoverflow.com/questions/37132059/podfile-syntax-reference-platform-in-ios?rq=1这样说, 但是不可以解决


解决的方式: 项目名称改为纯字母<实现了, 但不知道为啥 -_- >

六. 使用/验证

在CocoaPods目录下执行下载命令的结果 祝挖坑幸福

代码中引入头文件----开袋即食

七. Mac彻底删除CocoaPods的方法

遇到问题: pod search出来的仓库版本低于github仓库版本;具体问题如下

$ pod search Nina
-> NinaPagerView (0.2)
   NinaPagerView is a view easy to page your controllers.
   pod 'NinaPagerView', '~> 0.2'
   - Homepage: https://github.com/RamWire/NinaPagerView
   - Source:   https://github.com/RamWire/NinaPagerView.git
   - Versions: 0.2, 0.1 [master repo]

github上的版本已经到0.9.1

版本更新说明
**0.9.1**:针对用户需要对上方**toptab**进行自定义,在UIParameter中加入下划线或滑块的长度比和高度设置,灵活度更高。Add some parameters to toptab's bottomline or slider,now you can set their width and height to the project.**0.8.1**:彻底修复了在特定情况下上方**toptab**可以上下滑动的问题。
......


解决方法, 参考github--update cocoapods to the latest version

$ sudo gem update --system
$ sudo gem install cocoapods
$ pod setup

百般无奈之后就彻底删除Cocopods以及依赖库.

第一步
#罗列依赖库
$ gem list --local | grep cocoapods
第二步
#遍历删除依赖库
$ for i in $( gem list --local --no-version | grep cocoapods );
do 
   sudo   gem uninstall $i; 
done

第三步
#进一步彻底删除文件夹
$ rm -rf ~/.cocoapods/

完整的三步操作实例如下

#罗列依赖库
$ gem list --local | grep cocoapods
cocoapods (1.0.1)
cocoapods-core (1.0.1, 0.39.0)
cocoapods-deintegrate (1.0.0)
cocoapods-downloader (1.0.0, 0.9.3)
cocoapods-plugins (1.0.0, 0.4.2)
cocoapods-search (1.0.0, 0.1.0)
cocoapods-stats (1.0.0, 0.6.2)
cocoapods-trunk (1.0.0, 0.6.4)
cocoapods-try (1.0.0, 0.5.1)

#遍历删除依赖库
$ for i in $( gem list --local --no-version | grep cocoapods );
do 
   sudo   gem uninstall $i; 
done


Password:
Remove executables:
 pod, sandbox-pod

in addition to the gem? [Yn]  y

等等


#进一步彻底删除文件夹
$ rm -rf ~/.cocoapods/


参考文档:

CocoaPods官方文档

ruby-china

github参考链接
stackexchange参考链接

objc中国--深入理解 CocoaPods

更多精彩内容请关注“IT实战联盟”哦~~~


IT实战联盟.jpg
上一篇下一篇

猜你喜欢

热点阅读