美文网首页
使用CocoaPods

使用CocoaPods

作者: r_lin | 来源:发表于2016-01-27 19:10 被阅读353次

    CocoaPods是Objective-C和Swift项目的依赖管理工具,可以让你高效优雅地管理第三方框架(AFNetworking等)。如果不使用CocoaPods,集成第三方框架需要把该框架的源码复制到项目中;如果该框架依赖系统的framework,还需要手工将这些framework分别添加到项目中。某些开源框架还需要设置-fno-objc-arc等编译参数。如果要升级第三方框架,还得重复这些操作。CocoaPods就是为避免这些费时繁琐的操作而生。

    安装CocoaPods

    CocoaPods是由ruby构建的。Mac OSX自带ruby,可以使用ruby的gem命令下载安装CocoaPods。ruby的软件源在国内不稳定,可以将官方软件源替换成国内淘宝的

    $ gem sources --remove https://rubygems.org/
    $ gem sources -a https://ruby.taobao.org/
    $ gem sources -l
    

    如果ruby的gem命令版本太低,可能导致安装失败。我是在v2.0.14版本操作的,可通过下面的命令查看版本:

    $ gem -v
    

    发现版本太低,可通过以下命令更新gem:

    $ gem update --system
    

    确定gem的版本没问题,通过以下命令安装CocoaPods:

    $ sudo gem install cocoapods
    

    使用CocoaPods

    在项目中使用CocoaPods

    CocoaPods把每一个第三方依赖库(框架)都视为一个pod。安装好了CocoaPods之后,在项目中应用十分简便。在项目的根目录创建名为Podfile的文件,可以执行如下命令创建该文件:

    #创建Podfile文件,用于描述相关信息
    $ touch Podfile
    

    在Podfile中添加描述,下面是示例:

    platform :ios, '8.0'
    
    pod 'AFNetworking', '~> 3.0'
    pod 'SDWebImage', '~>3.7'
    

    Podfile修改保存后,在项目根目录执行下面的命令:

    #向项目添加CocoaPods
    $ pod install
    
    #如果想查看安装过程的相关信息可以在”pod install“后追加”--verbose“,如下:
    $ pod install --verbose
    
    

    等待命令执行完毕。
    是的,CocoaPods就这样设置好了。以后每次打开项目使用后缀为xcworkspace的文件而不是xcodeproj。

    很多人以为只在一开始使用pod install命令,之后都是用pod update了。官方说法是任何时候向项目添加新框架(pod),都使用install命令,即便之前执行过install命令了;只在更新pod的版本时使用update命令:更新所有pod使用pod update,更新指定pod时使用pod update [PODNAME]

    删除某个pod

    在Podfile中删除该pod的声明,然后执行pod update命令即可。

    pod的版本管理

    pod 'AFNetworking', '~> 3.0'这个声明告诉CocoaPods安装从3.0到4.0之间(不包括4.0)所有版本中最新的那个。

    • > 0.1 :所有大于0.1的版本。
    • >= 0.1:所有大于或等于0.1的版本
    • < 0.1: 所有小于0.1的版本。
    • <= 0.1 : 所有小于或等于0.1的版本。
    • ~> 0.1.2:等同于>= 0.1.2 且 < 0.2.0,并选择最新的版本。
    处理版本控制(git)

    如果是团队开发,为了各成员项目中的pod保持版本一致,应该把CocoaPods哪些文件加入版本控制呢?Podfile和Podfile.lock是必需的。把Pod文件夹加入版本控制,优点是其他成员clone到该项目后可以不安装CocoaPods直接构建(builde)该项目,缺点是这会增加git的工作量,而且repo的体积会增大。

    相关文件说明
    • Podfile:用于声明你要添加的pod(框架),可以根据个人喜好高度定制。更多信息,请查阅Podfile指南

    • Podspec:每个支持CocoaPods管理的框架(pod)都有自己的.podspec文件。该文件声明一个框架怎样添加到项目中。它起到列出源文件、framework、编译参数(compiler flags)和该框架需要的依赖等作用。CocoaPods正是根据各个框架中的.podspec文件来处理相关依赖的。

    • Podfile.lock:这是 CocoaPods 创建的最重要的文件之一。它记录了需要被安装的 pod 的每个已安装的版本。如果你想知道已安装的 pod 是哪个版本,可以查看这个文件。推荐将 Podfile.lock 文件加入到版本控制中,这有助于整个团队的一致性。

    相关文章

      网友评论

          本文标题:使用CocoaPods

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