iOS CocoaPods安装和使用图解
2015-09-25 23:55 jiangys 阅读(56004) 评论(7) 编辑 收藏 举报Cocoapods安装步骤
一、升级Ruby环境
1.查看ruby版本
ruby -v
2.升级ruby
sudo gem update --system
二、使用官方的RubyGems镜像
1. 安装CocoaPods时我们要访问cocoapods.org,用官方的RubyGems镜像来代替官方版本,执行以下命令:
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
2. 为了验证你的Ruby镜像,可以用以下命令查看:
$ gem sources -l
3. 只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
https://gems.ruby-china.org
上面的命令,有时试了会没有效,请参考https://gems.ruby-china.com
4. 安装cocoapods
sudo gem install -n /usr/local/bin cocoapods 或者指定版本 sudo gem install -n /usr/local/bin cocoapods -v 1.10.0
正常来说,到这一步,就已经安装cocoapods成功了。
2021.01.01更新
但是macOS 10.15.7,操作到这一步会报错
Building native extensions. This could take a while... ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension.
通过排查,是ruby版本有问题,需要安装新的ruby,安装homebrew。
1. 安装新的ruby,安装homebrew,使用如下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1.1 最好FQ,可能会报以下错
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
1.2 报错后,需要修改host
sudo vim /etc/hosts
1.3 增加以下内容
99.232.28.133 raw.githubusercontent.com
1.4 再执行上面的安装新的ruby,安装homebrew命令
2. 过程有点慢,安装Homebrew完成后查看一下版本
brew -v
得到结果
Homebrew 2.7.0
3. 接着安装RVM,命令:
curl -L https://get.rvm.io | bash -s stable
4. 很好,很顺利。载入rvm环境,命令:
source ~/.rvm/scripts/rvm
5. 再来查看一下ruby已知版本,命令:
rvm list known
6.根据结果,挑选一个你想安装的ruby版本,我装的2.7.2,命令
rvm install 2.7.2
如果报错,则试
rvm use ruby --install --default --create
7.除了过程也有点慢,其余也很顺利。至此,离革命胜利已经不远了。关掉终端,重开查一下ruby的版本,命令:
ruby -v
8.完成后再次安装cocoapods,还是之前的命令
sudo gem install -n /usr/local/bin cocoapods 或者指定版本 sudo gem install -n /usr/local/bin cocoapods -v 1.10.0
(20230518更新)这一步在13.3.1系统,会报以下错
admindeMacBook-Pro:~ 10062335$ gem install cocoapods -v 1.10.1 --user-install
WARNING: You don't have /Users/10062335/.gem/ruby/2.6.0/bin in your PATH,
gem executables will not run.
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Users/10062335/.gem/ruby/2.6.0 directory.
输入以下命令可以解决:
sudo gem install cocoapods -v 1.10.1 --user-install
9.此时又需要一波等待,完成后查看版本:
pod --version
成功返回版本号:1.10.0
以上安装成功整个cocoapod。
三、在终端中输入如下命令来完成安装
//将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下 pod setup
它需要一点时间来完成,你等就是了
如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup
命令如下:
pod repo remove master
pod setup
完毕之后这个文件夹大概有 100多M,需要花费比较多时间,请耐心等待。
到这里你已经成功安装了CocoaPods
当然,要是pod setup 失败,可以试试下面的方法:
1.访问 https://github.com/CocoaPods/Specs,然后将Specs项目fork到自己的github账户上
2. 下载GitHub Desktop, 然后clone Specs项目。
3. 将clone的Specs项目的文件夹改名为master,然后拖到/Users/用户名/.cocoapods/repos目录下。
4. 运行pod setup
解释:pod setup的本质就是将https://github.com/CocoaPods/Specs上的Specs项目clone到/Users/用户名/.cocoapods/repos目录下。若此目录下已有Specs项目,则会将项目更新到最新的状态。由于Specs很大,容易导致pod setup失败。这时就需要我们手动安装Specs。若直接从github上下载zip文件,由于缺少git文件,会导致cocoa pods不使用。若用git clone,由于文件过大,容易导致失败。但是使用GitHub Desktop软件,则会提高clone的成功率,并且会给出clone的进度。
或者通过命令(2021.01.01推荐使用这个):
$ pod repo remove master $ git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master $ pod repo update
可能的报错:
当使用【pod search AFNetworking】搜索库时,可能会报错:
Unable to find a pod with name, author, summary, or description matching `AFNetworking`
请通过下面的命令重新安装pod
$ pod repo remove master $ git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master $ pod repo update
Cocoapods使用
1.使用search命令搜索类库名
$ pod search AFNetworking
得到结果如下图:
从这个图上,我们看到AFN有好多版本,最新的版本是2.6.0.
2.打开xcode,新建一个工程,工程名为CocoapodsSample。
使用命令cd,cd后面跟的是工程目录名,可以直接拉进来,
回车后,输入命令创建Podfile文件
$ touch Podfile
我们可以看到,在根目录下,多了一个Podfile文件
3.使用vim编辑podfile文件,使用命令
$ vim Podfile
然后在Podfile文件中输入以下文字:
platform :ios, '7.0' pod "AFNetworking", "2.5.0"
这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.5.0。
在编辑完后按 esc,然后按":",这个时候输入wq保存退出。
这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的两行语句,如下图
4.这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:
$ pod install
安装成功后,如下图:
这个时候,会看到多了一个.xcworkspace工程,以后打开项目就用 CocoapodsSample.xcworkspace 打开,而不是之前的.xcodeproj文件。
5.打开 CocoapodsSample.xcworkspace 工程,你会惊喜地发现,AFNetwoking已经成功导入项目了。
现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:
#import <AFNetworking.h> 或者 #import "AFNetworking.h"
然后编译,看看是否出错。如果你严格按照小编上述的步骤来,是不可能出错的啦。
另:
如果有一些包已经存在了,或者我们更改了Podfile里面的版本,可以使用以下命令更新
$ pod update
关于Podfile文件编辑时,第三方库版本号的各种写法:
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的版本,相当于>=0.1.2并且<0.2.0 pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本 pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
Cocoapods 降级处理
移除pod组件,查看pod的安装位置
$ which pod
手动删除这个组件
$ sudo rm -rf <path>
卸载当前版本
sudo gem uninstall cocoapods
下载指定版本。
sudo gem install cocoapods -v 0.39.0
查看当前pod 版本
pod --version
2018-10-07更新,不需要操作第一步和第二步,直接【卸载当前版本】,下载指定版本即可。
如果在操作的过程中,报错如:
则是因为 ruby 版本导致的,请参考淘宝网官方说明:https://ruby.taobao.org
当前的解决方式直接更新一下ruby指向:
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
报错2:Updating spec repo `master` [!] Failed to connect to GitHub to update the Co
执行下面命令就好了
sudo gem install -n /usr/local/bin cocoapods
参考资料:
https://blog.csdn.net/weixin_52921425/article/details/111827297