美文网首页
CocoaPods的安装使用和常用问题

CocoaPods的安装使用和常用问题

作者: 雪落冰心 | 来源:发表于2017-11-29 17:16 被阅读34次

    虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用。

    前言

    在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案。

    什么是CocoaPods

    CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

    Cocoapods意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

    接下来我们将介绍CocoaPods的使用。

    CocoaPods的核心组件

    CocoaPods是用Ruby写的,并划分成了若干个Gem包。

    CocoaPods在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPods、 CocoaPods/Core和 CocoaPods/Xcodeproj。

    CocoaPods / CocoaPod:这是面向用户的组件,每当执行一个pod命令时,这个组件将被激活。它包括了所有实用CocoaPods的功能,并且还能调用其他gem包来执行任务。

    CocoaPods / Core:Core gem提供了与CocoaPods相关的文件(主要是podfile和podspecs)的处理。

    Podfile:该文件用于配置项目所需要的第三方库,它可以被高度定制。本文中我们主要在这里做动作。

    Podspec:该文件描述了一个库将怎样被添加进工程中。.podspec文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。

    CocoaPods / Xcodeproj:这个包负责处理工程文件,它能创建以及修改.xcodeproj文件和.xcworkspace文件。它也可以作为一个独立的包使用,当你要编写修改项目文件的脚本时,可以考虑使用CocoaPods/Xcodeproj。

    Cocoapods安装步骤

    一、升级Ruby环境

    终端输入:$gem update --system

    此时会出现

    ERROR: While executing gem ... (Gem::FilePermissionError)

    You don‘t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

    zijingMacBook-Pro:~ shiyunlei$ sudo gem update —system

    这个是因为你没有权限去更新Ruby

    这个时候你可以在终端使用:$sudo gem update —system来进行升级

    这个时候表示Ruby升级完成。

    二、安装CocoaPods时我们要访问cocoapods.org,该网站可能被我们大天朝墙了,这样下载安装可能会是龟速,幸好我们可以用淘宝的Ruby镜像来访问该网站,方法如下:

    终端命令输入:

    gem sources --remove https://rubygems.org/

    gem sources -a http://ruby.taobao.org/

    可以使用下面的命令查看是否更换镜像成功(如下图所示):

    $ gem sources -l

    三、安装Cocoapods,在终端输入命令

    $sudo gem install cocoapods

    这个时候会提示你输入密码,注:在终端输入密码不会有提示,光标也不会移动,一定要注意

    开始安装,如下图:PS:这个过程可能花费时间比较长

    安装成功如下:

    四、使用search命令搜索类库名:

    $pod search AFNetworking

    如果CocoaPods支持,将会输出搜索到的所有类库版本和信息,以及在Podfile中配置的写法,终端返回信息如下:

    -> AFNetworking (2.3.1)

    A delightful iOS and OS X networking framework.

    pod ‘AFNetworking‘, ‘~> 2.3.1'(这个语句是需要在编辑Podfile的时候输入的命令,即是如何安装下载相关类库的指令)

    - Homepage: https://github.com/AFNetworking/AFNetworking

    - Source: https://github.com/AFNetworking/AFNetworking.git

    - Versions: 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0,

    2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3,

    1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1,

    0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]

    - Sub specs: - AFNetworking/Serialization (2.3.1) -

    AFNetworking/Security (2.3.1) - AFNetworking/Reachability (2.3.1) -

    AFNetworking/NSURLConnection (2.3.1) - AFNetworking/NSURLSession (2.3.1)

    - AFNetworking/UIKit (2.3.1)

    -> AFNetworking+AutoRetry (0.0.5)

    Auto Retries for AFNetworking requests

    pod ‘AFNetworking+AutoRetry‘, ‘~> 0.0.5‘

    - Homepage: https://github.com/shaioz/AFNetworking-AutoRetry

    - Source: https://github.com/shaioz/AFNetworking-AutoRetry.git

    - Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]

    五、需要在工程中创建一个Podfile文件,

    使用命令:

    $cd /Users/shiyunlei/Desktop/CocoapodsSample(进入工程目录,cd后面的是工程的路径)

    $ touch Podfile(创建Podfile文件)

    然后使用vim编辑Podfile文件,使用命令:

    $ vim Podfile

    进入如下界面

    然后紧接着按键盘上的“i”键,变成如下状态,这个时候可以对Podfile文件进行编辑:

    $platform:ios, ‘7.0‘

    $ pod ‘AFNetworking‘, ‘~> 2.3.1‘

    在编辑完成后按“esc”,

    在按“:”,这个时候输入wq,点击回车,保存并退出。

    这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的一行语句,如下图

    然后在终端输入命令安装相应的第三方类库

    pod install

    因为这个过程需要下载相应的类库,所以时间和网速有关。

    安装成功之后截图如下:

    这个时候会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。

    六、安装CocoaPods遇到的问题

    1、出现Could not find a valid gem 'cocoapods' (>= 0) in any repository的报错

    问题描述:输入:sudo gem install cocoapods等了一会儿 出现的不是安装成功的提示,而是

    Could not find a valid gem 'cocoapods' (>= 0) in any repository的报错

    解决方案:百度了一下  说是command line tools没有安装,这时候我跟大多数人一样  到Xcode ->preferences ->downloads里面去找这个command line tools,但是啥影子也没看见,就以为肯定是Xcode默认装好了  但是!!!  如果执行下这个命令:Xcode-select --install就会发现 弹出一个窗问我们是否要安装命令行工具  到这里 我才恍然大悟,原来之前跑命令行跑来跑去,搞了半天,还是由于自己没有安装好命令行工具 于是果断下载安装

    安装完了后 再次sudo gem install cocoapods  发现还是会报同样的错误 百度了下 看到了这个哥们的错误总结,说可能是权限的问题,需要进去到root下面,使用sudo -i或者sudo su进入到root之后再执行sudo gem install cocoapods,到这里命令行工具就安装好了  command+q退出一下  再重新进入Shell里面 执行sudo gem install cocoapods 会发现出来一大段

    Fetching: nap-0.8.0.gem (100%)ung: nap-0.8.0.gem

    Successfully installed nap-0.8.0

    Fetching: thread_safe-0.3.5.gem (100%)

    Successfully installed thread_safe-0.3.5

    Fetching: tzinfo-1.2.2.gem (100%)

    bSuccessfully installed tzinfo-1.2.2

    Fetching: i18n-0.7.0.gem (100%)

    Successfully installed i18n-0.7.0

    Fetching: activesupport-4.2.4.gem (100%)

    Successfully installed activesupport-4.2.4

    Fetching: escape-0.0.4.gem (100%)

    Successfully installed escape-0.0.4

    Fetching: colored-1.2.gem (100%)

    Successfully installed colored-1.2

    Fetching: molinillo-0.3.1.gem (100%)

    Successfully installed molinillo-0.3.1

    Fetching: netrc-0.7.8.gem (100%)

    Successfully installed netrc-0.7.8

    Fetching: cocoapods-trunk-0.6.4.gem (100%)

    Successfully installed cocoapods-trunk-0.6.4

    Fetching: cocoapods-try-0.4.5.gem (100%)

    Successfully installed cocoapods-try-0.4.5

    Fetching: cocoapods-stats-0.5.3.gem (100%)

    Successfully installed cocoapods-stats-0.5.3

    Fetching: cocoapods-plugins-0.4.2.gem (100%)

    Successfully installed cocoapods-plugins-0.4.2

    Fetching: cocoapods-downloader-0.9.3.gem (100%)

    Successfully installed cocoapods-downloader-0.9.3

    Fetching: claide-0.9.1.gem (100%)

    Successfully installed claide-0.9.1

    Fetching: xcodeproj-0.26.3.gem (100%)

    Successfully installed xcodeproj-0.26.3

    等执行完毕,我们输入pod --version查看一下pod的版本 会看到这样

    pod --version

    0.38.2

    这就表示pod是安装好了。

    免责声明:所写内容为本人查阅资料整理所得,不是要抄袭别人的内容,只是留着给自己看的。

    相关文章

      网友评论

          本文标题:CocoaPods的安装使用和常用问题

          本文链接:https://www.haomeiwen.com/subject/yfhpbxtx.html