iOS开发之 -- CocoPods的安装和使用

以前项目中使用过Pods 1.0,最近项目中也有用到,因为很长时间没用了,所以配置了下,谁知道,中间出现了不少坑,特记录在此博客,其实pods的使用也就是几个终端命令而已,可能随着系统的升级,以前的终端命令,会因为电脑里面配置了其他的环境,比如react native 等,会影响到pos的配置

安装过程如下:

1,打开终端,输入命令:"gem sources -l"来查看镜像是否被墙,如图(下面的镜像是我替换过以后的图像),注:这里输出如果是:https://rubygems.org/ 镜像的话,我们要删除这个镜像,然后添加镜像:https://ruby.taobao.org/ (已废弃),

具体操作如下:

<1>删除原始镜像:gem sources --remove https://rubygems.org/

<2>添加新的镜像:gem sources -a https://ruby.taobao.org/(已废弃),现在使用:https://gems.ruby-china.com

 <3>查看是否更改成功:在此输入命令,如下图:(就修改成功了)

 

3,接下来我们要进行安装pods的重要步骤了:(sudo gem install -n /usr/local/bin cocoapods)

注意:在这个过程中,会出现一些错误,具体的错误可以自行百度,这里只列举我安装时遇到的几个比较典型的例子:因为配置过react native的环境(自己百度的),所以在失败过几次后,我就从电脑里面把react navtive的环境给删除掉了,

可以参考:http://www.jianshu.com/p/77f02887630e

如果一切顺利,大概过了个10分钟,如果你网速特别慢的话,可以多等等,如果出现下图,就表示安装成功了

4,接下来我们检测是否安装成功:直接输入pod 然后按两下tab键,可以看到下图:

或者直接输入终端命令:pod search AFNetworking,出现下图:

即为安装成功.

如果没有出现,不要慌,打印下 pod命令:pod --version ,如果出现下图:

表示安装成功,如果没有,别急,往下看,可能是master的问题,也可能是gem的问题,ruby的问题,

我遇到的是:Pod /usr/bin/git clone https://github.com/CocoaPods/Specs.git master 问题,可以参考:http://www.jianshu.com/p/90ca71b3b94a

碰到的问题,这篇大神波可以有很详细的解答,如果直接出现上图,恭喜你安装成功!~

别高兴的太早,安装成功,可不意味着,直接可以用了,想知道怎么用吗,?接着往下看:

1,在桌面上创建一个项目,然后使用CD命令:cd /Users/hero11223/Desktop/CocoaPodTest ,切换到此目录下如图:

2,上面是demo的根目录,然后我们要创建Podfile文件,命令如下:touch Podfile

 这里就不上图了,直接输入命令就行,然后打开桌面demo的文件夹,会出现一个Podfile的文件,如图:

出现这个文件,然表示我们创建成功了!

接下来,操作Podfile文件,有两种方法:

第一种:使用vim命令,如下:

(1)比如我们要导入AFNetworking这个第三方库,我们执行如下命令:pod search AFNetworking,如下图:

红框框中的就是我们要写入到Podfile中的文件;

(2)使用vim命令,输入命令:vim Podfile ,然后点击 i ,下面会出现INSERT的字样,这个时候,我们就可以写入类库了,注:这里的写入命令和以前有了不一样,具体如下图:

里面的MyAPP就是你demo的名字,比如我的demo名字是:CocoaPodTest,直接替换掉就可以了,

platform :ios, '8.0'
use_frameworks!

target 'CocoaPodTest' do
  pod 'AFNetworking', '~> 3.1.0'
end

写入完成后,我们要怎么退出vim呢,写入完成后,我们点击左上角的ESC键,然后下面的INSERT字样,消失,我们输入一个":"号,然后输入wq,(wq的意思是保存退出的意思),然后回车,

最后再输入:

pod install

或者 pod install --verbose 命令,耐心等待1分钟左右的时间,如果出现下图:

就表示你已经成功导入AFNetworking第三方库了;

然后我们打开项目,看到:

如果出现红框框里面的东西,就表示彻底成功了!

如果遇到什么问题,比如,pods安装成功,导入不成功,

可以参考:http://blog.csdn.net/jxt141014_150214/article/details/54092482

 第二种方法:就是直接在Podfile文件里面写入,最后在终端里面输入此命令:pod install --verbose --no-repo-update ,就可以了,不过我一直用的第一种方法,第二种方法的话,没有尝试,有兴趣的朋友可以尝试下!

如何在工程中导入第三方库的头文件呢:

点击“+”号添加一项:并且输入:“$(PODS_ROOT)”(没有引号),选择:recursive(会在相应的目录递归搜索文件),如下图:

 使用cocopods更新类库:

在终端输入:pod update  或 pod repo update,就可以了~!

 补充:

出现这种错误:

<span style="font-family:SimSun;color:#ffffff;background-color: rgb(0, 0, 0);">E325: ATTENTION  
Found a swap file by the name ".ceshi.c.swp"  
          owned by: root   dated: Sat Jul  4 19:51:46 2015  
         file name: /c/ceshi.c  
          modified: YES  
         user name: root   host name: c66-WR  
        process ID: 2801  
While opening file "ceshi.c"  
             dated: Sun Jul  5 12:38:54 2015  
      NEWER than swap file!  

解决Swap file ".ceshi.c.swp" already exists!问题

关于swp文件:使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备不测,如果你正常退出,那么这个.(filename)swp文件将会自动删除。
因此.(filename)swp文件就是你没有正常退出vi或者vim编辑器时留下来的!比如:强行关闭vi或vim时,电源突然断掉,或者你使用了Ctrl-zz。(正常的退出方式应该是Shift-ZZ)
这时候就会出现下面的情况了
 
重点:解决办法

  用下面的命令删除swp文件

    rm .{your file name}.swp

    例如:我的文件名是ceshi.c 那么就用这样的命令:rm .ceshi.c.swp (当然你前面也可以加-rf强制删除)

亲测有效!

 

原文地址:https://www.cnblogs.com/hero11223/p/6491009.html