• iOS最新Mac OS X 10.11之后 安装cocoapods及使用详解


    iOS 最新版 CocoaPods 的安装流程

    一、安装方法:

    1、移除现有Ruby默认源

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

    为了提高安装的成功几率,大家可以多移除几个源。

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

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

    gem sources --remove https://ruby.taobao.org/ 

    gem sources --remove https://gems.ruby-china.org/ 宁可错杀一千,绝不放过一个

    2、使用新的源

    gem sources -a https://gems.ruby-china.org/

    3、验证新源是否替换成功

    gem sources -l

    4、设置gem为最新版本

    sudo gem update --system

    如果失败,报错如下,请重新安装 ruby 

    目前最新版本:

     
     

    RROR:  While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/update_rubygems

    解决办法:

    在终端输入如下命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    等执行完后,(如果安装失败:请参考http://stackoverflow.com/questions/28460953/homebrew-install-issue-after-computer-restoration)

    在终端执行 brew install ruby

    然后重新设置 gem为最新版本。

    升级成功后会提示: Latest version currently installed. Aborting.

    也可参照:http://blog.csdn.net/springjustin/article/details/51836968

    5、执行安装CocoaPods命令

    (1)sudo gem install cocoapods

    如果报以下错误:

    ERROR:  While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/xcodeproj

    解决方案1:

    执行下面的命令并重启

    (1)sudo nvram boot-args="rootless=0"

    (2)sudo reboot

    重启之后, 执行这个命令检查

    (3)sudo gem install cocoapods -V

    如果依旧有错误,使用第二个方案

    解决方案2:

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

    pod setup

    这一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。(总共大概是750兆)

    安装成功后,你会看到:Setup completed

    二、使用方法说明

    1、在自己的工程中创建Podfile.lock文件

    (1)cd 到自己的工程目录中

    (2)输入 touch Podfile 回车

    (3)使用Xcode打开Podfile.lock文件

    (4)在终端中输入 pod search XXXXXX      

    eg: pod search AFNetworking

    找到对应的库,将如下图中的红色标识内容复制到Podfile.lock文件中

     
     

    (5)cd到Podfile.lock目录下执行如下操作来下载对应的库

    pod install

    最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动

    原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

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

    pod update --verbose --no-repo-update

    附一:如何使用CocoaPods的镜像索引:

    所有项目的Podspec文件都托管在https://github.com/CocoaPods/Specs,

    第一次执行pod setup时,CocoaPods会将这些podspec索引文件更新到本地的~/.cocoapods目录下,

    这个索引文件比较大,所以第一次更新时非常慢.

    友好人士在国内的服务器建立了Cocoapods索引库的镜像,

    所以执行索引跟新操作时候会快很多.具体操作方法如下:

    pod repo remove master

    pod repo add master https://gitcafe.com/akuandev/Specs.git

    pod repo update

    这是使用gitcafe上的镜像,将以上代码中的 https://gitcafe.com/akuandev/Specs.git

    替换成 http://git.oschina.net/akuandev/Specs.git 即可使用oschina上的镜像。

    附二:升级 Ruby 版本(另一种方法)

    第一步:安装rvm

    $ curl -Lget.rvm.io | bash -s stable

    $ source~/.profile

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

    $ rvm -v

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

    第二步:安装ruby

    列出ruby可安装的版本信息

    $ rvm list known

    安装一个ruby版本

    $ rvm install 2.3

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

    $ rvm use 2.1.4 --default

    查看已安装的ruby

    $ rvm list

    卸载一个已安装ruby版本

    rvm remove 2.3

    第三步:更换源

    查看已有的源

    $ gem source -l

    显示如下:

    CURRENT SOURCES

    http://rubygems.org/

    2017年10月出现错误:

    RuntimeError - [Xcodeproj] Unknown object version.

    /Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:217:ininitialize_from_file' /Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:102:inopen'

    原因:就是你的xcode版本和现在CocoaPods 的版本问题不匹配  比如你用xcode8 你的cocoaPods 版本是1.0.1 . 就有可能出现此类问题。因为xcode8需要cocoaPods1.1.0.

    解决方法:

    就是更新cocoaPods的版本 ,在终端执行如下命令gem install cocoapods --pre,然后在相对应podfile文件所在路径下执行pod install 即可。



    作者:海棠依旧r_o
    链接:https://www.jianshu.com/p/66cbebd1c125
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    EventBus总结(原)
    StarUML 破解方法2.X(转)
    扩展阿里巴巴Java开发规约插件(转)
    Java 代码规范,你应该知道的一些工具和用法(转)
    使用IntelliJ IDEA 15和Maven创建Java Web项目(转)
    Git--将已有的项目添加到github(转)
    单元测试汇总
    Intellij idea创建javaWeb:实现JSP/Servlet(转)
    设计模式学习之中介者模式(转)
    jvm加载包名和类名相同的类的规则,以及如何加载包名和类名相同的类(转)
  • 原文地址:https://www.cnblogs.com/sunfuyou/p/8521492.html
Copyright © 2020-2023  润新知