美文网首页iOS学习交流代码管理工具iOS黑科技
Cocoapods使用----配置/安装/使用/完全卸载(一)

Cocoapods使用----配置/安装/使用/完全卸载(一)

作者: simuty | 来源:发表于2016-05-31 16:44 被阅读5237次

    CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。1. 省去手动引入相关类库的繁琐 2. 大部分常用第三方都支持CocoaPods管理 3. 第三方更新更简单 4. 一次配置, 次次省心.

    转下篇---Cocoapods使用----可视化工具(二)

    文章目录

    一. 查看/升级ruby环境
    二. 配置环境
    三. 安装CocoaPods
    四. 安装CocoaPods
    1. 删除CocoaPods;
    2.下载CocoaPods;
    3.检测版本;
    4.下载并搜索第三方文件. 
    4.1 xcode路径问题以及解决方法
    4.2 下载卡着不动的问题以及解决方法
    4.3 下载中途中断问题
    4.4 搜索中找不到第三方的问题以及解决方法.
    五. 使用Cocoapods
    5.1. 新建xcode项目;
    5.2. 搜索第三方;
    5.3 切换至项目目录并创建Podfile文件;
    5.4 下载第三方
    5.4.1 问题一: 不支持任意的target
    5.4.2 问题二: 
    六. 使用/验证
    七. Mac彻底删除CocoaPods的方法
    
    

    一.查看/升级ruby环境

    系统默认安装ruby环境, 查看

    gem sources -l
    
    

    默认在终端中出现

    *** CURRENT SOURCES ***
    https://rubygems.org/
    
    

    查看ruby版本

    ruby -v
    ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
    
    

    今天重新安装Cocoapods时出现一个问题

    ERROR:  Error installing cocoapods:
        activesupport requires Ruby version >= 2.2.2.
    
    

    目前安装Cocoapods需要的ruby版本需要高于2.2.2

    升级Ruby请看OS X----Homebrew配置Ruby

    如果你可以畅游互联网, 直接执行安装命令进行安装:

    $ sudo gem install cocoapods
    
    

    否则请继续往下看

    二. 配置环境

    使用国内淘宝的ruby镜像, 命令如下

    $ gem sources --remove https://rubygems.org/
    $ gem sources -a https://ruby.taobao.org/
    
    

    验证是否安装成功

    $  gem sources -l
    *** CURRENT SOURCES ***
    https://ruby.taobao.org/
    
    

    以上表示安装成功;

    三. 安装CocoaPods

    <不想进坑遨游的,建议直接跳过该步骤>
    $ sudo gem install cocoapods
    
    

    显示安装完成; 很顺利, pod search **

    -bash: pod: command not found
    
    

    网上搜了一些, 都说10.11后该使用sudo gem install -n /usr/local/bin cocoapods; 但是不好用;

    四. 安装CocoaPods

    1. 删除电脑上的CocoaPods<默认没有>
    $ sudo gem uninstall cocoapods
    
    
    Remove executables:
        pod, sandbox-pod
    
    in addition to the gem? [Yn]                          
    Removing pod
    Removing sandbox-pod
    Successfully uninstalled cocoapods-1.0.0
    
    
    -----------
    
    #仅此下载cocoapods, 并未下载第三方库
    $ sudo gem install -n /usr/local/bin cocoapods  
    #省略下载过程
    
    
    $ sudo chmod +rx /usr/local/bin
    
    

    2.检测版本

    pod --version
    
    

    3.下载并搜索第三方文件.
    使用命令: ~$ pod search 第三方名称即可下载; 在此会下载第三方文件, 会很慢,详细见4.2;


    4.1 xcode路径问题以及解决方法

    问题如下:

    第一个问题Xcode路径问题---xcrun: error: active developer path

    $ pod search afn
    
    Setting up CocoaPods master repo
    [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
    
    xcrun: error: active developer path ("/Users/wangbing/Desktop/Xcode71.app/Contents/Developer") does not exist, use `xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools (or see `man xcode-select`)
    
    
    解决方法:
    解决办法就是:将Xcode的路径,重新设置一下。
    sudo xcode-select --switch “Xcode的path,直接在应用程序里面找到Xcode,拖拽到这里”
    
    
    4.2 下载卡着不动的问题以及解决方法

    问题: 一直卡在Setting up CocoaPods master repo:

    $ pod search afn
    
    Setting up CocoaPods master repo
    
    

    这样说明Cocoapods在将它的信息下载到~/.cocoapods里;CMD+N 再次打开一个终端页面, 执行如下操作:

    #cmd + n 再次打开一个终端窗口
    $ cd  ~/.cocoapods
    #隔一会输入一次下边命令,这个目录最终大小是七百八M,就是完成了 
    $ du -sh *
    
    4.3 下载中途中断问题

    下载了好久之后报出这个错误:

    [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
    
    Cloning into 'master'...
    error: RPC failed; result=56, HTTP code = 200
    fatal: The remote end hung up unexpectedly
    fatal: early EOF
    fatal: index-pack failed
    
    

    4.3.1 方法一

    $ rm -fr ~/.cocoapods/repos/master 
    
    重新下载
    
    

    4.3.2 解决方法二:

    1.如果有电脑已经安装过Cocoapods,将该电脑上的根目录下的隐藏文件夹(~/.cocoapods/repos)拷贝至自己电脑上的这个路径下(~/.cocoapods/repos)
    
    

    4.4 搜索中找不到第三方的问题以及解决方法

    可能再次出现的错误, 如果没报错, 跳过该步骤, 直接在项目中使用--即第五步
    问题如下:

    $ pod search yymodel
    Setting up CocoaPods master repo
    Setup completed
    [!] Unable to find a pod with name, author, summary, or descriptionmatching `yymodel`
    
    

    解决方法

    $ rm ~/Library/Caches/CocoaPods/search_index.json
    
    $ pod search yymodel
    
    

    五.使用Cocoapods

    5.1. 新建xcode项目;
    项目目录
    5.2. 搜索第三方;

    命令: pod search 第三方名称

    终端搜索 github中的介绍
    5.3 切换至项目目录并创建Podfile文件;

    使用命令行 cd 项目路径, 并且录入相应的第三方, 如下图: ;

    创建Podfile
    1. 进入插入模式: i;
    2. 保存退出, esc : wq 
    3. 强制退出, esc : q !
    
    
    编辑内容

    下载Podfile中的第三方, 在以前用pod install, 建议使用以下命令:

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

    网上下载的第三方如果使用Cocoapods, 但是运行发现后缀Pods.xcodeproj爆红, 则需要重新下载

    
    $ cd 项目路径
    $ pod install --verbose --no-repo-update
    
    

    5.4.1 问题一: 不支持任意的target
    出现错误Cocoapods: The dependency `AFNetworking ` is not used in any concrete target
    
    

    解决方法

    #设置项目版本
    platform :ios, ‘8.0’
    target :项目名 do
    #第一个第三方
    pod 'AFNetworking', '~> 3.1.0'
    #第二个第三方
    pod 'YYModel', '~> 1.0.4'
    
    end
    
    

    5.4.2 问题二:
    MacBook2-6:11Test admin$ pod install --verbose --no-repo-update
    
    [!] Invalid `Podfile` file: syntax error, unexpected tINTEGER, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
    target :11Test  do
              ^.
    
     #  from /Users/admin/Desktop/11Test/Podfile:3
     #  -------------------------------------------
     #  platform :ios, '7.0'
     >  target :11Test  do
     #  pod 'AFNetworking', '~> 3.1.0'
     #  -------------------------------------------
    

    解决问题

    网上http://stackoverflow.com/questions/37132059/podfile-syntax-reference-platform-in-ios?rq=1这样说, 但是不可以解决
    
    
    解决的方式: 项目名称改为纯字母<实现了, 但不知道为啥 -_- >
    
    

    六. 使用/验证

    在CocoaPods目录下执行下载命令的结果 祝挖坑幸福

    代码中引入头文件----开袋即食

    七. Mac彻底删除CocoaPods的方法

    遇到问题: pod search出来的仓库版本低于github仓库版本;具体问题如下

    $ pod search Nina
    -> NinaPagerView (0.2)
       NinaPagerView is a view easy to page your controllers.
       pod 'NinaPagerView', '~> 0.2'
       - Homepage: https://github.com/RamWire/NinaPagerView
       - Source:   https://github.com/RamWire/NinaPagerView.git
       - Versions: 0.2, 0.1 [master repo]
    
    github上的版本已经到0.9.1
    
    版本更新说明
    **0.9.1**:针对用户需要对上方**toptab**进行自定义,在UIParameter中加入下划线或滑块的长度比和高度设置,灵活度更高。Add some parameters to toptab's bottomline or slider,now you can set their width and height to the project.**0.8.1**:彻底修复了在特定情况下上方**toptab**可以上下滑动的问题。
    ......
    
    
    

    解决方法, 参考github--update cocoapods to the latest version

    $ sudo gem update --system
    $ sudo gem install cocoapods
    $ pod setup
    
    

    百般无奈之后就彻底删除Cocopods以及依赖库.

    第一步
    #罗列依赖库
    $ gem list --local | grep cocoapods
    
    第二步
    #遍历删除依赖库
    $ for i in $( gem list --local --no-version | grep cocoapods );
    do 
       sudo   gem uninstall $i; 
    done
    
    
    第三步
    #进一步彻底删除文件夹
    $ rm -rf ~/.cocoapods/
    
    

    完整的三步操作实例如下

    #罗列依赖库
    $ gem list --local | grep cocoapods
    cocoapods (1.0.1)
    cocoapods-core (1.0.1, 0.39.0)
    cocoapods-deintegrate (1.0.0)
    cocoapods-downloader (1.0.0, 0.9.3)
    cocoapods-plugins (1.0.0, 0.4.2)
    cocoapods-search (1.0.0, 0.1.0)
    cocoapods-stats (1.0.0, 0.6.2)
    cocoapods-trunk (1.0.0, 0.6.4)
    cocoapods-try (1.0.0, 0.5.1)
    
    #遍历删除依赖库
    $ for i in $( gem list --local --no-version | grep cocoapods );
    do 
       sudo   gem uninstall $i; 
    done
    
    
    Password:
    Remove executables:
     pod, sandbox-pod
    
    in addition to the gem? [Yn]  y
    
    等等
    
    
    #进一步彻底删除文件夹
    $ rm -rf ~/.cocoapods/
    
    

    参考文档:

    CocoaPods官方文档

    ruby-china

    github参考链接
    stackexchange参考链接

    objc中国--深入理解 CocoaPods

    更多精彩内容请关注“IT实战联盟”哦~~~


    IT实战联盟.jpg

    相关文章

      网友评论

      • S型身材的猪:我咋感觉写得好乱呢,以上表示安装成功,接着第三条又来个安装cocopods,好安装完了,第四条又来个安装cocopods,到底哪个才是真正的安装?
      • 5d170d383dda:admin$ pod install
        Setting up CocoaPods master repo
        fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
        Use '--' to separate paths from revisions, like this:
        'git <command> [<revision>...] -- [<file>...]'
        fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
        Use '--' to separate paths from revisions, like this:
        'git <command> [<revision>...] -- [<file>...]'
        fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
        Use '--' to separate paths from revisions, like this:
        'git <command> [<revision>...] -- [<file>...]'
        $ /usr/bin/git -C /Users/admin/.cocoapods/repos/master fetch origin
        fatal: 'origin' does not appear to be a git repository
        fatal: Could not read from remote repository.

        Please make sure you have the correct access rights
        and the repository exists.
        [!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.
        You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.
        这是什么问题,用pod search 可以搜索到的。但是安装pod file里的第三方框架就出现这个,求指导
        simuty:@Danke 那个大小是七百八M, 如果可以搜的到, 应该是没问题的,
        5d170d383dda:因为pod setup太慢了,我是通过github下载下来,把specs下来后改名master,复制进去,后用git init,然后pod search可以搜到,但是给xcode的项目加载第三方框架,pod install的时候出现这个问题的。然后现在也只有用pod setup去下载了。还不知道能不能行。有点慢
        simuty:@Danke 看了楼主的问题, 感觉第一是$ pod install是在配置pod ? 1. 怀疑没有下载好pod仓库, 如果没有, 请按照文章中的步骤配置一遍, 2 如果真的配置好了, 看一下使用仓库的框架的语法是否正确, 3 网络原因, pod很有可能没下好, 希望能帮到你:smile:
      • 左眼见到肠:感谢,pod出了问题,网上查了好多资料,只有这里的能解决问题,已收藏
        simuty:@左眼见到肠 :smile:
      • 木马sun:出现这种错误: [!] Unable to find a pod with name, author, summary, or description matching `afnetworking`

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.

        [!] Skipping `0` because the podspec contains errors.
        simuty:@木马sun 第一你检查一下是否安装成功, 如果已经成功, 第二步就参照一下本文中4.4 章节应该就可以解决. 也可以 cmd + f 搜索 'Unable to find a pod with name, autho',
        simuty:@木马sun 你查看一下pod的版本,看是否可用,
        木马sun:@木马sun 求解 求解 求解
      • 張贺:收藏
      • 爆炸艺术:求指导
        cocoapods常用命令
        simuty:@看看only

        其实上边罗列的搜索/下载/更新就是最常用的, 如果感觉终端麻烦, 可以参考第二篇使用可视化工具

      本文标题:Cocoapods使用----配置/安装/使用/完全卸载(一)

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