美文网首页
CocoaPods使用笔记

CocoaPods使用笔记

作者: GrayMoon08 | 来源:发表于2020-05-14 00:34 被阅读0次

    包涵cocoapods的安装与使用笔记,和Podfile的实用写法。

    一、cocoapods安装和使用


    如果在大陆地区,可能会连接不上默认的源地址链接。需要将默认的源地址修改为可用地址:https://gems.ruby-china.com/ 。对于能够连接默认源的开发人员可以直接执行第5步的操作

    1. 在终端查看当前源$gem sources -l

    成功提示:

    ```
    *** CURRENT SOURCES ***
        
    https://XXXXXXXXXXXXXX/
    ```
    
    1. 删除不能使用的源$gem sources --remove https://XXXXXXXXXXXXXX/
      注意: 最后的/,要与原始链接完全一致

      成功提示:

      https://XXXXXXXXXXXXXX/ removed from sources
      
    2. 添加源$gem sources -a https://gems.ruby-china.com/

      成功提示:

      https://gems.ruby-china.com/ added to sources
      
    3. 重复第1步,检查当前源是否替换成功

      成功提示:

      *** CURRENT SOURCES ***
          
      https://gems.ruby-china.com/
      
    4. 执行$sudo gem install -n /usr/local/bin cocoapods安装最新CocoaPods

    5. 下载索引文件$pod setup
      这一步需要的时间比较长,需要耐心等待

      成功提示:

      Setup completed
      

    PS. 假如Setup completed很快就出现,且无法执行以下步骤,可以使用pod repo update命令更新索引

    1. 在终端搜索需要的开源库$pod search 开源库的名字
      假如你要集成RxSwift库。可以输入$pod search rxswift进行搜索。

      搜索结果:

      -> RxSwift (2.0.0-beta.3)
      Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform
      pod 'RxSwift', '~> 2.0.0-beta.3'
      - Homepage: https://github.com/ReactiveX/RxSwift
      - Source:   https://github.com/ReactiveX/RxSwift.git
      - Versions: 2.0.0-beta.3, 2.0.0-beta.2, 2.0.0-beta.1, 2.0.0-alpha.4,
      2.0.0-alpha.3, 2.0.0-alpha.2, 2.0-alpha.1, 1.9.1, 1.9, 1.8.1, 1.8, 1.7, 1.6,
      1.5, 1.4, 1.3, 1.2.1, 1.2, 1.1, 1.0, 0.9, 0.8, 0.7.1, 0.7 [master repo]
      

      记下需要的开源库名字 RxSwift

    2. 创建并编辑podfile文件

      1. 执行$cd 工程路径,进入工程路径
      2. 执行$touch podfile,创建空的podfile文件
      3. 用Xcode(或Vim等)打开podfile文件
      4. 输入下面文本,下文中的RxSwift处输入你刚刚搜索记下来的库名
      platform :ios, '9.0'
          use_frameworks!
          
      target '目标名' do
          pod 'RxSwift'
      end
      

      支持iOS 9.0以上平台(注意:ios都是小写)

      1. 保存并退出编辑器
    3. 执行$pod install安装podfile中的库

    执行完以上步骤,三方库的集成已经成功。在工程目录内,会出现与工程名相同的*.xcworkspace文件。此文件将包含以前的工程和Pods工程,打开此文件即可找到以前的工程,并在其中访问CocoaPods集成好的三方库。

    1. 使用三方库

    打开xcworkspace文件后,可以找到之前的项目。
    swfit中,在需要导入三方库的位置使用import XXXXXX即可。
    OC中,在需要导入三方库的位置使用#import <XXXXXX>即可。

    二、库的安装、更新与删除


    上文中使用$pod install安装了三方库,在第一次使用时,$pod install$pod update都能实现安装功能。

    下表是install和update的功能对比:

    ... install update
    已经存在的库 不变 更新
    未安装的库 安装 安装
    已存在,但podfile中没有的库 删除 删除

    在安装完成之后,工程目录中会生成Podfile.lock文件。
    此文件用于记录已安装库的版本号。
    在多人操作的工程中,它用于防止其他人执行$pod install操作后,可能对已经安装了的库 意外的升级
    所以不要在git中忽略此文件。

    三、podfile文件的一般写法


    一般写法举例:

    platform :ios, '9.0'
    inhibit_all_warnings!
    use_frameworks!
    
    target '目标名' do
        
        pod 'RxSwift'
        pod 'AFNetworking'
        
    end
    

    platform 的功能

    平台名称和最小支持平台版本号,上文中指iOS平台,最低支持iOS 9.0以上版本。

    各个平台写法见下表:

    平台 写法
    OS X osx
    iOS ios
    tvOS tvos
    watchOS watchos

    假如不填写版本号,默认的最低版本号如下:

    平台 版本号
    OS X 10.6
    iOS 4.3
    tvOS 9.0
    watchOS 2.0

    inhibit_all_warnings! 的功能

    忽略所安装库中的所有警告。
    此关键字也可以写在pod行内,写法如下:
    pod 'RxSwift', :inhibit_warnings => true
    pod 'RxSwift', :inhibit_warnings => false

    use_frameworks! 的功能

    在使用了swift编程的项目中,需要将三方库打包成frameworks格式。
    在OC项目中可以不添加此关键字。

    target 的功能

    指定工程中的target。
    假如有多个target可以进行嵌套:

    target 'ShowsApp' do
      pod 'ShowsKit'
    
      # 下面的ShowsTV既能够使用 ShowTVAuth 也能使用 ShowsKit 
      target 'ShowsTV' do
        pod 'ShowTVAuth'
      end
    
      # 这个ShowsTests能够使用 Specta 和 Expecta,
      # 并且可以经由ShowsApp访问ShowsKit
      target 'ShowsTests' do
        inherit! :search_paths
        pod 'Specta'
        pod 'Expecta'
      end
    end
    

    此处用到了inherit!关键字,下面也简单讲一下这个关键字的功能。

    inherit! 的功能

    此处可以有三种写法:

    inherit! :complete
    inherit! :none
    inherit! :search_paths
    
    1. :complete --> 目标继承父级的所有行为。
    2. :none --> 目标不继承父对象的任何行为。
    3. :search_paths --> 目标仅继承父级的搜索路径。

    pod 的功能

    书写格式举例:

    pod 'Objection', '0.9'
    

    用于导入库,可指定版本号。版本号指定常见规则如下:

    = 0.1  0.1
    > 0.1  大于0.1
    >= 0.1  大于等于0.1
    < 0.1  小于0.1
    <= 0.1 小于等于0.1
    ~> 0.1.2  大于等于0.1.2,且小于0.2
    

    其它写法请见官网:Pod功能描述

    详细的podfile文件写法请参照cocoapods官网:
    Podfile Syntax Reference

    相关文章

      网友评论

          本文标题:CocoaPods使用笔记

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