iOS开发 - CocoaPods安装和使用教程

作者: 天秤vs永恒 | 来源:发表于2016-04-30 13:17 被阅读7106次

    一、CocoaPods简介

    1.什么是CocoaPods?

    CocoaPods是iOS的包管理工具。

    2.为什么要使用CocoaPods?

    在开发iOS项目时,经常会使用第三方开源库,手动引入流程复杂,并且库之间还存在依赖关系,更增加了手动管理的难度。开源库如果升级了,你也想用最新版本,还需要重新手动导入,这大大增加了工作量。但用了CocoaPods后,安装和升级都只是一句命令的事情,让你可以专于业务本身。

    二、CocoaPods安装

    1. 安装Ruby

    CocoaPods基于Ruby语言开发而成,因此安装CocoaPods前需要安装Ruby环境。幸运的是Mac系统默认自带Ruby环境,如果没有请自行查找安装。检测是否安装Ruby:

    $ gem -v
    2.0.14
    

    安装则会提示当前Ruby版本。gem介绍:gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找、安装、升级和卸载软件包,非常的便捷。

    2. 更换gem源

    因为国内网络的问题导致gem源间歇性中断,原因你懂的。因此我们需要更换gem源,使用淘宝的gem源https://ruby.taobao.org/

    第一步:移动默认的源

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

    第二步:指定淘宝的源

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

    第三步:查看指定的源是不是淘宝源

    $ gem sources -l
    *** CURRENT SOURCES ***
    
    https://ruby.taobao.org/
    

    如果是https://ruby.taobao.org/,则更换成功。

    3. 安装CocoaPods

    终于开始安装CocoaPods,说实话本人都快忘记是在写CocoaPods的教程了,囧!确认改成淘宝源后执行以下命令进行安装:

    sudo gem install cocoapods
    

    稍等片刻即可安装完成,输入以下命令检测是否安装成功:

    $ pod --version
    0.39.0
    

    成功则会提示CocoaPods版本,到此安装已告一段落。

    三、CocoaPods使用实例

    首先新建一个iOS工程MyDemo,在该工程中演示CocoaPods的使用。

    1. 创建Podfile

    进入工程的根目录,创建Podfile文件,创建完毕的目录如下图:


    创建Podfile文件后的工程目录结构

    2. 编辑Podfile

    根据需要,我们可以在Podfile文件中写入我们需要的第三方库,这里以AFNetworking和MJRefresh为例,Podfile内容如下:

    platform :ios, '7.0'
    pod 'AFNetworking', '~> 3.0'
    pod 'MJRefresh','~> 3.1'
    

    这段代码的意思是,当前类库支持的iOS最低版本是iOS 7.0, 要下载的两个类库的版本分别为 3.0、3.1。

    3. pod install 导入第三方库

    这时候,你就可以利用CocoPods下载AFNetworking和MJRefresh类库了。在终端中进入工程根目录,运行以下命令:

    $ cd /Users/myl/Desktop/IOS/MyDemo
    $ pod install
    Analyzing dependencies
    Downloading dependencies
    Installing AFNetworking (3.0.4)
    Installing MJRefresh (3.1.0)
    Generating Pods project
    Integrating client project
    
    [!] Please close any current Xcode sessions and use `MyDemo.xcworkspace` for this project from now on.
    Sending stats
    

    注意最后一句话,意思是:以后打开工程就用 MyDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。你也许会郁闷,为什么会出现.xcworkspace文件呢。这正是你刚刚运行pod install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。点击 MyDemo.xcworkspace 打开工程之后,你会发现工程目录多了一些,你会惊喜地发现,AFNetwoking和MJRefresh已经成功导入项目了!

    新的目录结构:


    CocoaPods_03.png

    4. pod update 更新第三方库

    如果需要引入或删除类库,只需要修改Profile文件后执行以下命令即可:

    pod update
    

    5. 工程中使用类库

    如果是OC项目,只需在使用的文件中导入该类库的头文件即可:

    #import "AFNetworking.h"
    #import "MJRefresh.h"
    

    如果是Swift项目,使用OC的类库,需要新建桥接头文件(MyDemo-Bridging-Header.h),在头文件中导入要使用的类库:

    #import <AFNetworking/AFNetworking.h>
    #import <MJRefresh/MJRefresh.h>
    

    四、常见问题

    1. install,update速度慢

    出现原因:你本地的repo库太长时间没有更新了
    解决办法:pod repo update

    原因在于当执行以上两个命令的时候会升级CocoaPods的specs仓库,如果不想在install,update的时候升级specs库,可以使用参数忽略掉
    pod install --no-repo-update
    pod update --no-repo-update

    2. 导入Swift类库

    导入Swift语言编写的类库时需要加use_frameworks!,下面以导入Alamofire为例:

    platform :ios, '8.0'
    use_frameworks!
    pod 'Alamofire', '~> 1.3'
    

    3. 官方文档

    对于Podfile参数细节,可以查阅官网,再此不做过多介绍。
    http://guides.cocoapods.org/

    本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。
    马燕龙个人博客:http://www.mayanlong.com
    马燕龙个人微博:http://weibo.com/imayanlong
    马燕龙Github主页:https://github.com/yanlongma

    相关文章

      网友评论

        本文标题:iOS开发 - CocoaPods安装和使用教程

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