zoukankan      html  css  js  c++  java
  • 20.cocoapods的安装和使用

    一.CocoaPods是什么?

          CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在iOS开发中经常会用到第三方库如AFNetworking,ASIHttpRequest等,在使用第三方库时,你除了要导数源码外,但是,集成这些依赖库需要我们手动去配置,还有当这些第三方库发生了更新,还需要手动去更新项目。这就显得非常麻烦。有麻烦自然有解决办法,CocoaPods就是为了解决这个问题而生的。通过CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成。

    二.CocoaPods的下载及安装

       mac系统已经默认安装好Ruby环境,如果你不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v查看当前ruby版本。如图: 

    确定以后,接下来就可以下载和安装CocoaPods,只需要一行命令。在终端中输入一下命令: 

              sudo gem install cocoapods

    但是,在终端敲入这个命令之后,时间会等待很久。原因是哪堵墙阻挡了cocoapods.org。

    解决办法是,我们用阿里云的Ruby镜像来访问cocoapods.按照下面的顺序在终端中按顺序敲入命令:

    1.检查你的Ruby源:(注意:$不要复制敲入)

    $gem sources -l
    默认情况下,终端应该返回信息:

    *** CURRENT SOURCES ***
    https://rubygems.org/
    当然这个源仔墙内饰访问不到的大大的。因为我们需要寻找一个可以在国内访问到的镜像。目前笔者找到的是http://rubygrms-china.oss.aliyuncs.com这个阿里云的镜像,当然随着时间的推移,未来这个镜像也有可能无法访问了,到时候就只能重新寻找了。
    确认镜像可用后,现在就要开始修改Ruby源了。首先执行一下命令删除原来的ruby源:
    $gem sources --remove https://rubygems.org/
    执行命令后可在终端看见一下信息:
    https://rubygems.org/ removed from sources
    然后下一步添加你找到的可用的镜像源:

    $gem sources -a http://rubygems-china.oss.aliyuncs.com
    此时如果你再执行gem sources -l命令,就能看到当前镜像源里只有阿里云这一个了。此时你就可以重新执行者一段开头的那句命令了:
    $sudo gem install cocoapods
    如果一切正常,你应该能看到一段安装进度,以及最后一条信息:
    3 gems installed
    确认看到这条信息,后先判断的CocoaPods是否可以使用,可以用CocoaPods的搜索功能验证一下。在终端中输入:
    pod search AFNetworking;
    执行后可能会一直停在
    Setting up CocoaPods master repo然后(很久)会出现如下错误:

    解决办法是:

    这说明CocoaPods还不能正常使用,需要更新pod,下载它的一些依赖包;在终端中输入:

     $ pod setup

    过一段时间之后,你会在终端看到跟上面同样的红色的错误信息。

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

    首先更新gem到最新版本,在终端中输入:

    $ sudo gem update --system 
    然后检查是否可以ping通github,在终端中输入:
    $ ping github.com 
    然后查看pod repo list:
    $ pod repo list
    说明Cocoapods在将它信息下载到~/.cocoapods里;
    cd 到改目录,用du -sh*命令来查看文件大小,结果显示 0 repos,说明没有安装成功;
    在终端输入:
    cd ~/.cocoapods
    进入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 
    完工。
    三.cocoapods的使用
    cd 项目文件的位置 (cd后面加空格)
    然后,添加一个Podfile文件:vim podfile
    例:终端代码示例

    Last login: Fri Dec 30 11:03:43 on ttys000

    
    

    haonandeiMac:~ c x n $ cd /Users/chenxiaonan/Desktop/auto 

    
    

    haonandeiMac:auto cxn $ vim podfile

    然后,按i进入插入模式,进行编辑,在文件中输入一下内容:

    注意:百度上很多旧版本输入的类容:

    
    
    platform :ios, '8.1'
    pod 'AFNetworking', '~> 2.0'
    它会报:[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
    现在版本升级官方给的文档是:

    source ‘https://github.com/CocoaPods/Specs.git'

    platform :ios, '8.0'

    
    

    target '你的项目名称' do

    
    

    pod 'AFNetworking', '~> 3.0'

    
    

    end

    
    

    注意:'你的项目名称'是你项目文件中'xx.xcodeproj'文件,'xx.xcodeproj'去掉后缀名所得的‘xx’==(就是)‘你的项目名称’

    例:终端事例

    输入完成按ESC退出编辑模式,最后输入:wq保存并退出文件。此时可以发现项目目录下多了一个Podfile的文件,请注意这个文件必须与.xcodeproj在同一目录下。

    最后:
    pod install

    例:终端代码

    Last login: Fri Dec 30 11:03:43 on ttys000

    
    

    haonandeiMac:~ c x n$ cd /Users/chenxiaonan/Desktop/auto 

    
    

    haonandeiMac:auto c x n$ vim podfile

    
    

    haonandeiMac:auto c x n$ pod install

    完美收工!

    附加:CocoaPodspodinstall/podupdate更新慢的问题参考一下链接:

    http://blog.csdn.net/ralbatr/article/details/39082937

    删除已安装好的第三方

     第一步:

    删除podfile 下图:

    第二步: 

    cd 项目文件的位置 (cd后面加空格)
    然后,添加一个Podfile文件:vim podfile
    重新操作安装一下
    pod install之后 就会出现

    完美收工!

    
    




  • 相关阅读:
    KVM虚拟化学习笔记系列文章列表(转)
    centos 6.5安装docker报错(查看报错详细信息--推荐)
    利用JMX统计远程JAVA进程的CPU和Memory---jVM managerment API
    OpenJDK和JDK区别
    docker sshd image problem, session required pam_loginuid.so, cann't login
    ssh-keygen
    优秀的软件测试人员必需具备的素质
    java基础篇---I/O技术
    jstl long类型数据转换为日期格式
    apache-hadoop-1.2.1、hbase、hive、mahout、nutch、solr安装教程
  • 原文地址:https://www.cnblogs.com/qiangzheVSruozhe/p/6236109.html
Copyright © 2011-2022 走看看