项目基础架构之一 cocoaPods搭建项目环境

CocoaPods是什么?

当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,SDWebImage,AFNetWorking等等。但是可能某两个类库都用到其他相同的类库,像ShareSDK和WechatOpenSDK都包含的libWeChatSDK.a,这也许是比较特殊的情况。那么手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。所以CocoaPods自动管库类文件就显得尤为重要了。

CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。

如何下载和安装CocoaPods?

在安装CocoaPods之前,首先要在本地安装好Ruby环境。至于如何在Mac中安装好Ruby环境,请google一下,本文不再涉及。

假如你在本地已经安装好Ruby环境,那么下载和安装CocoaPods将十分简单,只需要一行命令。在Terminator(也就是终端)中输入以下命令:

项目基础架构之一 cocoaPods搭建项目环境_第1张图片
对就是这个

sudo gem install cocoapods


但是,且慢。如果你在天朝,在终端中敲入这个命令之后,会发现半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:

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

        //等有反应之后再敲入以下命令

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


为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:

$ gem sources -l


只有在终端中出现下面文字才表明你上面的命令是成功的:

*** CURRENT SOURCES ***

        http://ruby.taobao.org/



查看当前源

gemsource-l

移除淘宝源

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

更换新源

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

如果刚开始配置那就使用下面的命令行吧

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

完成上面步骤后执行安装cocoapods命令

输入:sudo gem install cocoapods


需要安装对应的Ruby否则会报错哦

(1)如果出现错误, 则需要根据提示安装相应版本的ruby, 详细步骤如下“使用RVM对Ruby进行升级”

(2)更换镜像 淘宝镜像一直报ssl证书缺少,后来我把它换了,换之后挺好的,不会报这个错误了。

5.查看当前cocoaPods的版本号, 验证是否安装成功

输入:pod --version

6.在终端输入pod search fmdb, 验证是否有第三方的搜索结果,如果出现搜索结果则安装成功。

b.使用RVM对Ruby进行升级

1.先查看现在的Ruby版本号

输入命令:ruby -v

2.安装 RVM

RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)

a.先输入:

curl -L get.rvm.io | bash -s stable 

b.然后输入:

source ~/.bashrc  

source ~/.bash_profile 

c.测试是否安装正常

rvm -v  

3.用RVM升级Ruby

a.查看当前ruby版本

输入:ruby -v 

b.列出已知的ruby版本

输入:rvm list known 

c.安装所需要版本的Ruby, 例如

输入:rvm install 2.5.2

4.安装完成之后,查看是否安装成功

输入:ruby -v

等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。

敲入以上命令时,楼主终端上是这个样子的(由于太长,仅截取前面一部分):


使用cocoaPods安装第三方的步骤

1.进入工程文件夹: 在终端输入cd, 然后把文件夹放进去

2.初始化pod文件: pod init

3.打开podfile文件:删代码, 只保留 platform :ios, '8.0'

4.输入命令搜索想要的第三方:pod search mbprogress

5.粘贴 pod ‘名字’, ‘版本’, 进入podfile文件

6.在终端输入: pod install

例子:

platform :ios, '8.0'

pod 'AFNetworking', '~> 3.0.3'

注意:如果安装好一个第三方后想再安装第二个第三方只需执行 1, 4, 5, 6步骤

注意:如果安装第三方时出现The dependency `AFNetworking (~> 3.1.0)` is not used in any concrete target.错误

解决方法:

(1) 检查CocoaPods的版本

            pod --version

(2) 升级或安装最新版本(目前版本1.0.1)

           注意:如果cocoapods已经是1.0.1版本,则跳过该步骤直接进入第三个步骤。

           升级命令:sudo gem update -n /usr/local/bin --system

     安装命令:sudo gem install -n /usr/local/bin cocoapods

(3)修改Podfile的内容

修改前的Podfile文件的内容:      

    platform:ios,'7.0'

    pod 'MJRefresh', '~> 3.1.0'

    pod 'SDWebImage', '~> 3.7.6'

    pod 'SVProgressHUD', '~> 2.0.3'

    pod 'AFNetworking', '~> 3.1.0'

修改后的Podfile文件的内容:

platform :ios, '8.0'

use_frameworks!

target 'TestThirdParty' do

pod 'AFNetworking', '~> 2.6'

//可以连续pod多个第三方

// pod 'B','版本'...

    end

这时候,你再次在终端中运行:

$ sudo gem install cocoapods


这里的意思大概是Podfile文件过期,类库有升级,但是Podfile没有更改。$ pod install只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。但是 $ pod update会更新所有的类库,获取最新版本的类库。而且你会发现,如果用了 $ pod update,再用 $ pod install 就成功了。

这就是耐心点检查ruby和pods库那个缺少加那个  一遍一遍尝试,最后让你开始怀疑人生的时候,它莫名其妙就好了。

你可能感兴趣的:(项目基础架构之一 cocoaPods搭建项目环境)