iOS学习iOS程序猿iOS学习开发

<不要重复造轮子 第一篇>搞定CocoaPods

2016-12-29  本文已影响123人  永不颠倒的沙漏

现在,快速开发APP已经成为所有公司的需求,公司会在业务方法投入更多的时间来丰富APP的内容,而功能实现这个重担就压到了开发者的肩上。这时如果我们如果每个细节都自己傻楞的实现那结果可能只有两个:加班或者加班也做不完,然后被批。

大家一定听说过“不要重复造轮子”这句话,我们可以在程序适当的地方引入一些性能优良的第三方库(轮子)来帮我实现某些复杂或者繁琐的过程。这样我们就可以专心的“造车”了。


CocoaPods 简介

CocoaPods 是一个为Swift何Objective-C提供依赖项管理的工具,它拥有近2.6万个轮子可以为你的程序提供方便,有超过150万个程序通过它来管理依赖项。利用CocoaPods可以优雅的帮助你扩展你的项目。CocoaPods主页

安装CocoaPods

  1. 首先确保本机的 gem 工具可以使用,检测方法:打开终端输入

    gem -v

    如果报错:-bash: gem: command not found 这种的,说明ruby的环境出现问题,给大家推荐一篇文章安装ruby运行环境

  2. 更换ruby的软件源(国内网络问题导致)。方法:在终端输入:

    gem sources -l 查看当前ruby的源
    gem sources --remove https://rubygems.org/ 移除当前ruby的源
    gem sources -a https://ruby.taobao.org/ 设置ruby的新源
    gem sources -l 再次查看当前ruby的源

    下面结果就证明ruby的软件源已经设置OK了。

      *** CURRENT SOURCES ***
      https://ruby.taobao.org/
    
  3. 更新gem 方法:在终端输入:

    sudo gem update --system

    需要升级时在升级成功后会提示: Latest version currently installed. Aborting.

  4. 以上过程成功后,就可以开始安装CocoaPods了,方法:在终端输入:

    sudo gem install cocoapods

    这个过程有时会比较慢,需要等待。
    如果出现了错误(在系统版本大于10.11时会出现) [zsh: command not found: pod] ,这时候我们继续执行:

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

  5. 初始化CocoaPods

    pod setup

101.png
当出现如上错误时,执行:

pod repo update --verbose

以上的过程成功之后,安装就结束了。

使用CocoaPods

  1. Podfile 的编写。使用CocoaPods的第一步,就是为你的程序定制一份量身的脚本,CocoaPods会根据你写的脚本来生成对应的依赖。
    下面是个简单的例子:

    102.png
    第一个红框:platform :ios 和第二个红框 '6.0' 这行脚本的意思是指定依赖项的平台是iOS平台,最低支持的版本是 iOS 6.0. 当然这里可以根据不同的平台和最低支持的版本不同而修改,比如我的程序是 为watchOS 2.0写的, platform :watchos, '2.0'
    第三个红框 target 'DoIt' do 这行脚本的意思是:为程序中的 DoIt 这个target添加依赖项,以end结尾
    第四个红框 pod 'CocoaLumberjack', '~> 2.4.0' 就是真正的依赖项了, 它写到这里意思是: 为 'DoIt' 添加 CocoaLumberjack这个第三方库,而且版本 在 2.4.0 - 2.5.0之间,且不包含2.5.0
    ‘~>’这个符号的意思就是不大于这个小版本的意思。同样,还有 = , > , >= , < , <= 这5种符合,意思同符号。
    如果想查找一些依赖项,并查看它有什么可用版本的时候,可以利用pod提供的检索功能:
    pod search CocoaLumberjack
    103.png
    如果为不同的target写不同的依赖项,就要按图中的方式分开写。

    其他更多的Podfile脚本写法见官方的文档 Podfile Syntax Reference

  2. 为你的程序添加依赖。进行如下操作。将第一步生成的Podfile文件放到你的程序目录下,于 xxxx.xcodeproj 同级,打开控制台,cd 到 Podfile文件路径下,然后执行

    pod install

    如果你写的Podfile脚本文件没问题的话,这步执行成功后会生成一个 xxxx.xcworkspace 文件,那么恭喜你依赖项已经添加成功了。如果未成功的话,脚本中有问题的地方会在控制台打印出来,修改之后,重复此步骤直到显示成功为止。

  3. 更新依赖项。一旦install执行成功后,之后对Podfile文件修改后,直接执行:
    pod update就行了。

  4. 打开xxxx.xcworkspace 文件,这里以后就是你开发的地方了。

CocoaPods需要被某个Target下的子工程依赖时

这种情况一般多在Frameworks或者静态库开发时。子工程并没有被添加到依赖。这时候我们需要做几个简单的操作。

  1. 找到主工程(Podfile添加依赖的Target)下的 Pods 目录,复制一份你需要Target的 Pods-APP.debug.xcconfig 文件。
104.png 2. 将该文件放到子工程的目录下,可以换个名字,并将该文件添加到Target中。点击该文件,修改图中红框的 PODS_ROOT 值,该值为当前子项目到主项目的 Pods文件夹 的相对路径。 105.png 3. 在Xcode中点击子项目->点击 PROJECT 下的工程 -> 点击ConfigurationsDebugRelease 的下拉框,之后的配置里选择该 pods.xcconfig文件。 106.png

这时,你会发现,引用不到的依赖项已经可以使用了。

上一篇下一篇

猜你喜欢

热点阅读