美文网首页
2017-12-29

2017-12-29

作者: 乡村小子 | 来源:发表于2018-02-28 14:03 被阅读0次

    在终端中操作

    1在安装CocoaPods之前,首先要在本地安装好Ruby环境,默认情况下,Mac自带Ruby环境。因为Ruby的默认源rubygems.org使用的是亚马逊的云服务,在国内使用会被墙,所以需要更换一下Ruby的源。

    1.1以下命令符检查Ruby源

    $ gem sources - l

    那么就需要替换Ruby源。

    1.2 替换Ruby源,输入以下命令符,删除目前的Ruby源

    $ gem sources --removehttps://rubygems.org/

    1.3 添加新的Ruby源,输入以下命令符:

    $ gem sources -ahttp://rubygems-china.oss.aliyuncs.com

    之前使用的是以下这个

    $ gem sources -ahttps://ruby.taobao.org/

    查看$ gem sources - l

    成功就如图1-2所示:

    2 安装CocoaPods,继续在终端输入命令:

    macOS 10.12以下使用的是

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

    OS X 10.11以上使用的是

    sudo gem install cocoapods

    2.1 等待以上命令符执行完毕,继续输入以下命令:

    pod setup

    出现Setting up CocoaPods master repo 后会卡住一段时间,

    可以在新开一个终端的窗口,输入以下的命令,查看下载文件的大小。

    $ cd ~/.cocoapods

    $ du -sh

    下载完毕后,所占磁盘的大小在894M左右。

    2.2 下载成功,输入以下命令:

    $ pod --version

    可以看到安装成功cocoapods的版本。

    当然我们也可以对cocoapods卸载重新安装**,输入以下命令:

    $ sudo gem uninstall cocoapods  //卸载

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

    或者 $ sudo gem install cocoapods

    cocoapods卸载重装的例子参考。如果升级已有的cocoapods,则输入以下命令:

    $ sudo gem update cocoapods  //升级cocoapods

    查看本地安装过的cocoapods相关东西,命令如下:

    $ gem list --local | grep cocoapods

    3 CocoaPods的使用

    需要查看一下CocoaPods是否安装成功,这时只需在终端输入 *pod search +开源类库的名字 *回车即可。例如:

    $ pod search AFNetworking

    安装成功就会显示出相关的所有第三方开源类库。

    3.1 怎么在项目中使用呢,首先需要在终端里面cd到项目文件夹里面,如下所示:

    $ cd 项目文件夹路径    (可以直接把拖动项目文件夹到终端光标处,系统自动生成路径)

    3.2 创建Podfile 文件

    $ touch Podfile

    3.3 编辑Podfile文件

    $ vim Podfile

    接下来,在Podfile文件里面进行书写

    cocoapods版本1.0.1之前的:

    pod 'AFNetworking','~>2.6.0' #设置框架的名称和版本号

    cocoapods版本是1.0.1之后的:

    platform :ios, '8.0'      #用来设置所有第三方库所支持的iOS最低版本

    target 'MyApp' do      #MyApp 就是你的项目名

    pod 'AFNetworking', '~> 3.1.0'

    end

    (版本号的规则:

    '>1.0' 可以安装任何高于1.0的版本

    '>=1.0' 可以安装任何高于或等于1.0的版本

    '<1.0' 任何低于1.0的版本

    '<=1.0' 任何低于或等于1.0的版本

    '~>0.1' 任何高于或等于0.1的版本,但是不包含高于0.1的版本

    '~>0' 任何版本,相当于不指定版本,默认采用最新版本号)

    编辑Podfile文件之后, 按 i 可编辑 ,esc 退出编辑,:wq  可保存退出,:q 不保存退出。扩展Podfile语法参考

    2.4 安装第三方开源类库

    编辑Podfile文件之后,保存退出,然后终端输入命令:

    $ pod install

    等命令运行完,项目就已经是添加了cocoapods管理,启动项目就是点击.xcworkspace后缀的文件,在iOS项目中,导入头文件就能调用第三方库了。

    2.5 更新第三方开源类库

    以后需要添加、更新、删除某个第三方库,只要编写好Podfile文件,在终端输入:

    $ pod update

    之后运行就OK了。

    如果升级某一个指定的第三方库,则输入以下命令:

    $ pod update 第三方库名称

    CocoaPods安装失败问题总结

    安装不成功的解决办法之前,先解释几个名词

    Ruby是一种面向对象、命令式、函数式、动态的通用编程语言。可运行于多种平台,如 Windows、MAC OS 和 UNIX 的各种版本。且和Apple系列的程序员最直接关联的就是Mac的开发环境,直接关联于Cocoapods工具。但是,cocoapods工具与Ruby的版本有一定的关联性,难免不涉及到升级。

    gem是基于Ruby的一些开发工具包,不同的Gem可能会依赖不同的Ruby版本,通常来讲,新版本特性更多,用起来更便利。

    **rails **是一个基于Ruby的网页服务器的架构,rails也算是一组gem,专门用来做网站的。 当然它们三个各自有各自的版本。

    rvm是什么?rvm是Ruby版本管理器。为什么要安装rvm呢?因为rvm可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。

    4.1 错误提示一

    如果提示下面的错误提示,则需要安装高版本ruby,需要在终端进行升级,升级之前先安装rvm。

    ERROR: Error installing cocoapods:

    activesupport requires Ruby version >= 2.2.2.

    第一步:安装rvm

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

    $ source ~/.profile

    等待终端加载完毕后输入:

    $ rvm -v

    如果能显示版本号,则安装成功。

    第二步:安装ruby

    列出ruby可安装的版本信息

    $ rvm list known

    安装一个ruby版本

    $ rvm install 2.2

    如果想设置为默认版本,可以用这条命令来完成

    $ rvm use 2.0.0 --default

    查看已安装的ruby

    $ rvm list

    卸载一个已安装ruby版本

    $ rvm remove 2.2

    4.2 错误提示二

    如果在终端安装过程中出现以下错误提示:

    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

    输入上面的后如果出现ERROR:  While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/update_rubygems这样的报错 就在终端输入:

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

    问题迎难而解

    注意rvm、ruby、gem是顺序更新的。

    查看已安装的gem,输入:

    $ gem -v

    则可以看到gem的安装版本号。

    4.3 错误提示三

    pod setup之后,出现Setting up CocoaPods master repo,在等待过程中,可能出现下面错误:

    [!] /usr/bin/git clonehttps://github.com/CocoaPods/Specs.gitmaster

    Cloning into 'master'...

    fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': SSLRead() return error -9806

    推测可能是网络带宽问题,git下载速度比较慢,所以会出现这种错误。

    失败的解决办法,可以手动去克隆一份到repos目录下面:

    通过终端,进入到

    $ cd ~/.cocoapods/repos

    然后通过终端

    $ git clonehttps://github.com/CocoaPods/Specs.git

    成功后通过finder的前往文件夹进行查看      ~/.cocoapods/repos

    将clone的Specs项目的文件夹改名为master, 然后执行命令:

    $ pod setup

    更新:最近发现CocoaPods无法从Github上clone下来。解决办法是使用国内的镜像地址(https://coding.net/u/hging/p/Specs/git),然后在从前往文件夹的方式进入~/.cocoapods/repos目录下,再将文件夹重命名为master。然后执行命令:

    $ pod setup

    4.4 错误提示四

    有的情况下搜索第三方库,例如搜索AFNetworking,也就是在执行以下命令符之后,

    $ pod search AFNetworking

    会出现以下错误“:

    [!] Unable to find a pod with name, author, summary, or description matchingAFNetworking

    解决办法,就是清除搜索的缓存,执行以下命令就可以搜索出来想要搜索的第三方库了。

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

    4.5 补充一些终端命令

    rvm list  #查看已安装ruby

    rvm list known  #列出ruby可安装版本信息

    rvm remove 2.2.2  #卸载一个已安装的ruby版本

    gem source  #查看已有源

    gem list  #查看local gems

    which pod  #查看pod 的本地地址

    cocopods安装使用和安装过程中遇到的问题及解决办法网址:http://www.mamicode.com/info-detail-1222858.html

    相关文章

      网友评论

          本文标题:2017-12-29

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