iOS进阶——最新版CocoaPods的安装及使用

本文介绍了CocoaPods的基本概念、安装步骤及如何在iOS项目中使用。包括Ruby环境配置、CocoaPods安装与更新、依赖库集成等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

持续更新:2017年7月25

一.CocoaPods是什么?

CocoaPods是一个负责管理iOS项目中第三方开源库的工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在使用第三方库时,你除了要导数源码外,但是,集成这些依赖库需要我们手动去配置,还有当这些第三方库发生了更新,还需要手动去更新项目。详细的CocoaPods介绍--https://github.com/CocoaPods/CocoaPods。

二.CocoaPods安装

CocoaPods基于Ruby语言开发而成,因此安装CocoaPods前需要安装Ruby环境,mac系统已经默认安装好Ruby环境,检测它的版本就知道是否安装Ruby:$ gem -v,RubyGems 一直以来在国内都非常难访问到,在本地你或许可以翻墙,当你要发布上线的时候,你就很难搞了!

这是一个完整 RubyGems 镜像,你可以用此代替官方版本,它是基于国内 CDN + 国外服务器的方式,能确保几乎无延迟的同步。

1.ruby安装

gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找、安装、升级和卸载软件包,非常的便捷。

请尽可能用比较新的 RubyGems 版本,建议 2.6.x 以上。

$ gem update --system 
$ gem -v
2.6.7

执行$ gem update --system 时会报些错误

ERROR: While executing gem … (Gem::FilePermissionError)
You don’t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

替换更新gem

$sudo gem update --system

输入机子密码,则进入更新

替换镜像源

$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
https://gems.ruby-china.org/ added to sources
https://rubygems.org/ removed from sources

查看替换结果,已经替换成功

$ gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.org/. 

查看当前ruby版本

$ruby -v

显示如下:

ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin15]

2.ruby更新

在安装CocoaPods过程中可能会遇到以下问题:

Error installing
pods:activesupport requires Ruby version >= 2.2.2

原因是ruby版本过低导致,可升级ruby来解决,这里使用RVM升级ruby:
1).安装RVM

$ curl -L get.rvm.io | bash -s stable 

2).测试是否安装成功

$ curl -v 

3).用RVM升级ruby

#列出已知的ruby版本  
$ rvm list known  
#安装ruby 2.2.2  
$ rvm install 2.2.2 

安装完之后ruby -v检查是否安装成功。

3.安装CocoaPods

1).如果原先已经安装有,为了安全起见,先卸载原有的CocoaPods,需要输入电脑密码

$sudo gem uninstall cocoapods

2).执行安装命令

$sudo gem install -n /usr/local/bin cocoapods

3).如果没有权限执行pod,执行命令”sudo chmod +rx /usr/local/bin/”,赋予/usr/local/bin给予执行与读取权限

4).检测是否安装成功

$ pod --version

5).基本设置

$pod setup

三.使用CocoaPods

1.在终端用cd指令到文件夹内或直接把项目文件夹拖入命令行窗口

2.$ pod search 第三方,例:$ pod search AFNetworking

3.新建文件“Podfile”,$vim Podfile

4.写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)

platform :ios, "8.0"
target 'cocoapodsinstall' do
  pod 'AFNetworking', '~> 3.0.0'
  pod 'SDWebImage', '~> 3.8'
end

这里代码的意思是当前库支持iOS最低版本是iOS8.0,下载的两个类库版本分别是3.0.0、3.8,至于版本号与”~>” 的意义是说像版本3.0.0当执行pod update时,最高只能安装3.0.9,而不能是3.1.0甚至更高;如果只写了版本号为3,那么则不限制更新任何版本;做这个限制是考虑到兼容性问题,假如更新版本到了4.0,但是项目中要考虑到之前的代码使用,则会选择暂时不更新到4.0。
5.导入第三方库

$pod install

安装成功后会告诉重新启动项目,并且以后都要从 myDemo.xcworkspace这个文件,而不再是之前的.xcodeproj.同时项目会生成几个新的文件,这些文件是关联你项目本身的,所以不能随意删除。

6.工程中使用类库
在项目使用的文件中导入该类库的头文件即可:

#import "AFNetworking.h"

四.常见问题

1.执行pod setup的时候可能会一直停在Setting up CocoaPods master repo然后(很久)会出现如下错误:):

Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into ‘master’…
error: RPC failed; curl 56 SSLRead() return error -9806
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

这说明某些环境原因导致pod更新不了,可能原因有,1)gem版本太低;2)github无法链接;3).cocoapods目录下的配置信息错误。我们可以一个一个来排除

  • 首先更新gem到最新版本,在终端中输入:
    $ sudo gem update --system

  • 然后检查是否可以ping通github,在终端中输入:(ctrl+c停止)
    $ ping github.com

  • 检查信息是否已经下载到~/.cocoapods里
    $ pod repo list
    结果显示0 repos

  • 在终端输入:
    $ cd ~/.cocoapods
    $ du -sh *

  • 重新执行pod setup,过一段时间后提示setup completed,在终端中输入 pod list,展示出安装列表;这样总算安装好了。接下来再一次输入 :
    $ pod search AFNetworking

输入过后它可能会报:

[!] Unable to find a pod with name, author, summary, or descriptionmatching AFNetworking

解决方案是:
输入:

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

后在一次输入:$ pod search AFNetworking

就可以咯。

2.install,update速度慢
出现原因:你本地的repo库太长时间没有更新了
解决办法:$ pod repo update

原因在于当执行以上两个命令的时候会升级CocoaPods的specs仓库,如果不想在install,update的时候升级specs库,可以使用参数忽略掉

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

3 . 导入Swift类库
导入Swift语言编写的类库时需要加use_frameworks!,下面以导入Alamofire为例:

platform :ios, '8.0'
use_frameworks!
pod 'Alamofire', '~> 1.3'

4.安装ruby时可能会报

There has been an error while running make install. Halting the installation.

解决办法:

& rvm get master
& rvm reinstall 2.2.2

另外这里有一篇介绍如何在Xcode中使用CocoaPods,免去了命令导入第三方库的繁琐。前提是安装了Alcatraz这个管理插件的工具,点击这里有详细介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值