一、《什么是CocoaPods》

官网描述:CocoaPods is the dependency manager for Swift and Objective-C Cocoa projects. It has almost ten thousand libraries and can help you scale your projects elegantly.(CocoaPods是一个独立的管理器,可以为Swift/Objective-C项目提供管理,它拥有数千万计的第三方库,因而可以帮你优雅地管理你的项目结构)

我的理解:让程序猿工作的效率更高,更方便的管理第三方库。(ios项目引用到第三方库很常见,有些大型项目引用的库可能是10+个,人为的管理起来,显得有点低效,正因为这样的应用需求,故Cocoapods出现了)

 

二、《如何安装》

首先、

  1.确保你的Mac安装了Brew  

  2.使用brew命令,安装ruby。(我们安装cocoapods需要ruby命令,所以需要安装ruby)

    安装命令: brew install ruby

  3.安装cocoapods

    按照官网的指示:在终端输入:sudo gem install cocoapods即可安装cocoapods成功。

    但注意,在tian朝似乎是没那么容易就可以安装成功的。(可以使用vpn代理去下载)

    如果没有vpn,接下来的具体步骤可以即使在tian朝也可以安装成功。

    终端依次输入以下命令:

    1)gem sources –remove https://rubygems.org/ 

    // (2016年01月15日09:33:26修改:需要使用https。)

    2)gem sources -a https://ruby.taobao.org/

    上面的步骤,主要是让你重新指定一个镜像地址,访问国内的镜像地址去下载安装cocoapods.

    查看是否修改镜像地址成功:

    3)gem sources -l

    修改成功后,就可以执行cocoapods安装命令安装cocoapods了。执行安装命令:

    4)sudo gem install cocoapods

    成功。

 三、《如何使用cocoapods》

  使用xcode创建一个项目、比如CocoaPodsDemo。使用终端cd进入到项目下、创建Podfile文件(没有后缀、只有名称,推荐使用pod init命令来创建Podfile模板)。

  编辑Podfile文件、推荐使用vim来写、编写pod文件的时候,需要注意:platform平台的定义ios要全部小写、注意引号(英文单点引号)。

  Podfile编写样例:

    platform:ios, \’8.0\’

    pod \’AFNetworking\’

    pod \’SDWebImage\’

  上面的3行说明了Podfile的编写规范。指定了ios平台,指定了ios的版本。并导入最新版本的AFNetworking,和最新版本的SDWebImage库。

  Podfile文件编写成功后,执行命令:pod install   开始安装。

  等待一会儿,cocoapods正在帮你下载你的第三方库。。。可能会有报错,大部分原因都是因为你的Podfile文件编写格式有错误。

  执行完成以后,你可以看到:

    $ pod install

    Analyzing dependencies

    Downloading dependencies

    Installing AFNetworking (2.5.4)

    Installing SDWebImage (3.7.2)

    Generating Pods project

    Integrating client project

    [!] Please close any current Xcode sessions and use `CocoapodsDemo.xcworkspace` for this project from now on.

  上面的信息说明第三方库已经成功导入到了我的CocoapodsDemo项目中了。按照最后一句说的来做。

  (pod指定版本的库,格式:pod \’ReactiveCocoa\’, \’~> 2.5\’,不填写版本的话,默认pod最新版本的第三方库)

 

  打开我们项目中的CocoapodsDemo.xcworkspace项目,因为这个是Cocoapdos为我们整合了第三库,合并代码建立的项目。

  在代码里,比如使用SDWebImage,只要这样:       #import <SDWebImageManager.h>

  

  打开CocoapodsDemo.xcworkspace,可以看看cocoapods为我们创建的新的项目结构。

  可以看到项目中已经包含了SDWebImageManager和AFNetworking了。

  Cocoapods可以管理第三方库,我们可以这样做去更新第三方库:

  1. 使用pod的install命令去安装我们需要的第三方库。

  2.如果第三方库在github上面有新的更新,比如bug修复,功能性增加等。

  此时可以使用pod的另外一个命令(pod update) 去获取最新的库,cocoapods会自动为项目整合最新的代码,生成xcworkspace。

  3.使用pod search xxxx去查看是否有这样的库。例如(pod search SDWebImage) 

番外:

  如何删除一个不再需要的第三方库?

  同样,编辑Podfile文件,删除你想要去除的第三方库,保存Podfile文件,然后记得执行命令pod install。

至此,已经学会了如何使用Cocoapods去方便的导入第三方了。不用自己麻烦的拷贝粘贴,还有各种出错的信息需要去调试解决。

—————————————2016年05月03日10:33:47【注】—————————————————————

 

升级OS X系统版本10.11.4后,pod命令消失了。。。。重新按照上面的步骤,重新装一遍。

当执行到:sudo gem install cocoapods命令后,出现如下错误。

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

    Operation not permitted – /usr/bin/xcodeproj

尝试:

sudo nvram boot-args=“rootless=0”

sudo reboot

命令关机重启后,问题并没有解决。。。

 

最终解决方法:sudo gem install -n /usr/local/bin cocoapods

 

版权声明:本文为vokie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/vokie/p/4868624.html