zoukankan      html  css  js  c++  java
  • 兵器簿之cocoaPods的安装和使用

       以前添加第三方库的时候总是直接去Github下载然后引入,但是如果这些第三方库发生了更新,我们还需要手动去更新项目,所以现在引入之前一直想弄都一直没有弄的cocoaPods,现在演示一把过程

    其实非常简单,只不过流程复杂了点哈哈,遇到问题解决了就好了。

    一、安装要先有Ruby环境

      其实我们的Mac默认是自带了Ruby环境的,可以通过命令行ruby -v查看当前Ruby的版本。Ruby环境太低可以再去摸索一把。

    二、Ruby镜像替代     

        1、有了ruby环境之后,我们就可以开始安装,通过终端我们输入以下指令:

            $ sudo gem install cocoapods 

        2、你会发现根本木有反应,没错啦,需要FQ!但是我们有一个更好的办法,就可以开始安装通过淘宝的Ruby镜像来访问Cocoapods,在终端输入如下命令将Ruby镜像替换为淘宝的:

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

        $ gem sources -a http://ruby.taobao.org/ 

      

          看到上面图上的效果,说明更换成功啦!

    三、新建一个项目

      比如说这里我们新建了一个test111的项目[当然本来就有就无视了]

        

    四、集成第三方库

      1、接下来我们要集成一个第三方库,比如说JSONKit,可以先通过如下命令来判断它是否支持CocoaPods:

        $ pod search JSONKit

             使得到这样的结果选择我们要更新的版本1.5pre:

        

      2、定位到当前项目的目录下,比如我的是:

            $ cd Desktop/svn/test111

      3、然后输入vim 来新建一个文件,这个文件是test111工程在同一级目录下的[名字一定不能写错!]:

            $ vim Podfile 

        4、通过vim打开文件后按 i 进入插入模式,编辑下面的内容,

        

          5、完成后按 esc 退出编辑模式,接着输入:wq 保存并退出文件

        

      6、接下来我们开始安装,输入下面的指令:

         $ pod install 

      7、你会发现根本没有动静,确切的说是卡在了Analyzing dependencies不动!

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

                    原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少】,根据需求输入下面的指令:

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

       如下图:

        

      8、接下来我们会在目录中发现多了几个文件,这时候我们通过上图可以得知,它在提醒我们通过test111.xcworkspace这个工程来打开我们的工程

        

       所以我们可以打开test111.xcworkspace,可以看到多了一个Pods的工程,还有已经引入了我们的第三方文件:

        

      9、但实际上我们还需要最后一步,因为我们会发现我们在代码中引用还是没有搜到这个JSONKit.h或者其他文件

        因为我们还需要在  target-Build Settings下修改  “User Header Search Paths” 项,新增  ${SRCROOT}并选择  rcursive

       

      

       完成这些步骤才算成功!

    五、增加新的第三方库或者更新

      1、类似的只需要修改Podfile,同样用上面的 vim 编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,重新执行一次pod install命令

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

      2、查找库

        $ pod search UI

  • 相关阅读:
    深度讲解Go语言-学习笔记
    vagrant常用命令
    CentOS7 安装Python虚拟环境 virtualenvwrapper
    《Android开发艺术探索》读书笔记——Cha3.2.3改变布局参数实现View的滑动
    Map接口的实现类 Map的区别
    Java多线程之内存可见性和原子性操作 一 synchronized
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 64. Minimum Path Sum
    实现线程同步的几种方式
    IOC的底层原理
  • 原文地址:https://www.cnblogs.com/daomul/p/4485980.html
Copyright © 2011-2022 走看看