美文网首页iOS Developer
iOS CocoaPods 安装使用

iOS CocoaPods 安装使用

作者: 豆瓣菜 | 来源:发表于2016-07-07 20:38 被阅读40次

    CocoaPods简介

    在我们开发项目中,经常会用到很多第三方库,在没有CocoaPods之前,我们需要:把这些第三方库源码文件copy到项目中,或设置成git的submodule。

    要正常使用这些开源库,通常需要手动添加一些系统的依赖库,比如一个网络库需要添加CFNetwork、SystemConfiguration、MobileCoreServices

    、CoreGraphics等。有些库可能我还需要设置-licucore 或-fno-objc-arc等。

    如果我使用CocoaPods后,只需要将开源库放到名为Podfile文件中,在执行pod install。CocoaPods就会自动将这些开源库源码下载下来,并设置好相应的系统依赖和编译参数。对于我们来说比较方便管理这些开源库了。

    一、CocoaPods 的安装

    CocoaPods是用Ruby实现的,因此想要使用它需要安装Ruby的运行环境,不过mac OS默认支持Ruby运行的,所以我们不需要再安装Ruby运行环境了,直接通过命令安装使用CocoaPods就可以。

    其实安装了Ruby运行环境,下载安装CocoaPods很简单,只需要在终端输入一行命令即可:

    $ sudo gem install cocoa pods

    不过当我们输入完这行命令按下enter键,会发现半天没反应,这是咱们国内的特色,被墙给挡住了cocoapods.org,所以我们就需要替换Gem源。

    1.替换gem源

    gem是一个管理Ruby库和程序的标准包,它通过Ruby gem源(如:http://rubygems.org/)来查找、安装、升级、卸载软件包。

    移除Ruby现有的默认源()

    $ gem sources —removehttps://rubygems.org/

    添加新的源

    $ gem sources -ahttps://ruby.taobao.org/

    检查Ruby镜像并且仅有taobao镜像

    $ gem sources -l

    只有在终端显示下面信息时才表示成功,当前源只能有一个https://ruby.taobao.org/

    *** CURRENT SOURCES ***

    https://ruby.taobao.org/

    2.安装CocoaPods

    OS X EI Capitan(10.11)之前的系统版本

    $ sudo gem install cocoapods

    $ pod setup

    OS X EI Capitan(包括)之后的系统版本

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

    $ pod setup

    3.更新gem版本

    $ sudo gem update --system

    二、CocoaPods 的使用

    1.在终端用cd命令到项目根目录下,再使用search命令搜索类库名

    $pod search 第三方库名称

    如:

    $pod search AFNetworking

    2.新建Podfile文件

    $touch Podfile

    3.编辑Podfile文件,执行下面这条命令后就可以跳转到Podfile文件进行编辑

    $vim Podfile

    然后在Podfile文件中输入下列文本:

    platform :ios, ‘9.0'

    pod "AFNetworking", "~> 3.0"

    这段文本可以在AFNetworking的github页面找到。这两句的意思是当前AFNetworking支持的iOS最高版本是iOS9.0,要下载的版本是3.0。

    编辑好后就可以保存退出了,vim下保存退出的命令是:

    :wq

    4.执行导入命令,保存退出后执行下面这条命令就可以安装刚刚在Podfile文件中编辑的第三方库:

    $pod install

    5.更新第三方库

    $pod update

    相关文章

      网友评论

        本文标题:iOS CocoaPods 安装使用

        本文链接:https://www.haomeiwen.com/subject/xcmljttx.html