Cocoapods 相关问题

来源:互联网 发布:西安软件开发 大专 编辑:程序博客网 时间:2024/05/19 19:31
  1. 本篇文章公分了两个部分,一部是Cocoapods的安装使用,一部分是Cocoapods 使用时的相关问题解决方案


    Cocoapods的安装使用

    首先给一些安装特定版本的cocoapods命令

    1, 卸载 cocoapods

    $ sudo gem uninstall cocoapods

    2. 安装 xcodeproj(不知道有什么用)

    $ sudo gem install xcodeproj

    3. 安装指定0.34.4版本的 Cocoapods

    sudo gem install cocoapods -v 0.34.4


    CocoaPods安装

    安装的方式非常简单,Mac下已经自带了ruby,只要使用ruby的gem命令就可以安装了。打开的Mac的终端,在终端运行下面的命令:
     $sudo gem install  cocoapods
     $pod setup
    说明:执行$ pod setup这步可能比较慢,需要多等待一段时间,也可能是我网络的问题

    但是,且慢。如果你在天朝,在终端中敲入这个命令之后,会发现半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。(你会问,我靠,这都要墙!是的,小编也纳闷。)

    但是,是的,又但是(不过是个可喜的“但是”)。我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:

    $ gem sources --remove https://rubygems.org/
    //等有反应之后再敲入以下命令
    $ gem sources -a http://ruby.taobao.org/

    为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:

    $ gem sources -l

    只有在终端中出现下面文字才表明你上面的命令是成功的:

    *** CURRENT SOURCES ***
    http://ruby.taobao.org/
    更新

    当然我们也可以更新我们的CocoaPods,同样也是使用ruby的gem命令:
    $sudogem update cocoapods
    然而你也可以更新CocoaPods的预览版,执行下面的命令:

    查找第三方库

    如果我们不知道cocoaPods管理的库中,是否有你想要的库,那么你可以通过$ pod search xxx命令进行查找,以下是我用$ pod search sdwebimage查找到的所有可用的库:
     
    使用
    假设我的Desktop上有一个已经存在的一个项目名称叫做:CocoaPodsTest,首先,进入项目的根目录,并在根目录下创建一个名叫Podfile的文件(没有任何后缀):(备注:可在终端输入cd  然后直接将项目文件拖进终端,按下回车键,此时记会直接到该目录下)

    $ cd Desktop/CocoaPodsTest/ '进入项目根目录,根据自己项目实际目录'

    vim Podfile '创建Podfile文件,你可以选择你自己喜欢的编辑器'



    注:vim的简单用法,$ vim fileName创建文件fileName,并打开;按i进入插入模式,输入文本;按esc进入命令模式后,按:wqZZ退出并保存。

    然后,在Podfile文件中按以下的格式将依赖库的名字列出:

    platform :ios, '6.0' '平台、版本'

    pod 'SDWebImage', '~> 3.5.1' '开源库名称、版本'

    pod 'AFNetworking', '~> 2.0.3' '开源库名称、版本'


    当提示target问题时,可按照下面方法配置

    解决办法 :(MyApp为项目的TARGETS)

    platform:ios,'7.0'

    target MyApp' do   

        pod 'SDWebImage','~> 3.7.2'

    end


    保存Podfile文件后,执行如下安装的命令:
    $podinstall
    当安装命令执行成功后,会输出:

    Analyzing dependencies

    Downloading dependencies

    Installing AFNetworking (2.0.3)

    Installing SDWebImage (3.5.1)

    Generating Pods projectIntegrating client project

    [!] From now on use `CocoaPodsTest.xcworkspace`.


    当看到类似这样的输出就是成功了。你所需要的第三方开源库都下载好了,并且设置好了相应的依赖以及编译参数。在我们以后用的时候一定要记住以下两点:
    1. 最后一行是一个警告,提醒我们需要注意:从现在开始,需要通过xxx.xcworkspace打开的我们的项目。而不是之前我们一直用的xxx.xcodeproj

    2. 当我们每次修改了Podfile这个文件后,一定要记得执行命令:$ pod install,还可以执行$ pod update来更新类库



    Cocoapods     输入命令pod install时的问题

    一、升级之后pod遇到的问题

    —bash: pod:command not found

    解决办法:

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

    二、ERROR:  Could not find a valid gem 'cocoapods' (>= 0), here is why:Unable to download data from http://ruby.taobao.org/ - bad response Not Found 404 (http://ruby.taobao.org/latest_specs.4.8.gz)

    解决办法:换源地址

    gem sources --remove http://ruby.taobao.org/         //移除原文件地址 

  2.  gem sources -a https://ruby.taobao.org/                  //添加新文件地址

  3. gem sources -l                                                              //查看源文件地址是否正确

sudo gem install cocoa pods                                       //更新

三、在使用终端命令时出现一些现象

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

    用命令删除索引:   rm ~/Library/Caches/CocoaPods/search_index.json

  2. 当在updateinstall时遇到这个问题:
    Unable to find a specification for `xxxxx (~> 1.x.x)` depended upon by Podfile.
    只需要把当前Pod的目录清理一下就行了。在终端执行以下命令:
         pod repo remove master  
         pod setup  

    setup成功后执行installupdate即可。

  3. The dependency `SDWebImage (~> 3.7.2)` is not used in any concrete target.


解决办法 :(MyApp 为项目的TARGETS)
platform:ios,'7.0'
target ‘MyApp' do   
    pod 'SDWebImage','~> 3.7.2'
end

1 0