iOS开发之使用CocoaPods做依赖管理

作者: f1e583c455bf | 来源:发表于2017-06-07 16:46 被阅读0次

    1、简介

    CocoaPods是一个负责管理iOS项目中第三方开源库的工具。

    在我们有了CocoaPods这个工具之后,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后在命令行执行$ pod install命令。CocoaPods就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数。

    2、CocoaPods的安装

    Mac下已经自带了ruby,只要使用ruby的gem命令就可以安装了。打开的Mac的终端,在终端运行下面的命令:
    一、卸载
    1.检测CocoaPods是否安装
    终端输入:

    $ which pod
    

    输出 /usr/local/bin/pod 表示安装成功
    显示pod not found,表示Cocoapods没有成功安装。
    2.卸载cocoapods

    $ sudo gem uninstall cocoapods
    
    卸载成功

    3.查看本地安装过的cocopods相关东西

    $ sudo gem uninstall cocoapods
    

    4.逐个删除

    $ sudo gem uninstall cocoapods-core
    

    二、安装
    1.检查一下是否安装正确RVM

    $ rvm -v
    //安装成功
    rvm 1.29.0 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]
    

    rvm的安装命令

    $ source ~/.rvm/scripts/rvm
    

    2.如果gem版本太低,可以升级gem

    $ sudo gem update --system
    

    3.替换ruby的源
    可以用rubychina的Ruby镜像来访问cocoapods。

    $ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
    

    打印是否替换成功

    $ gem sources -l
    

    更换成功后打印如下

    *** CURRENT SOURCES ***
    https://gems.ruby-china.org
    

    4.用RVM安装Ruby环境

    //列出已知的ruby版本
    $ rvm list known
    //可以选择现有的rvm版本来进行安装(下面以rvm 2.4.0版本的安装为例)
    $ rvm install 2.4.0
    //查询已经安装的ruby
    $ rvm list
    //卸载一个已安装版本 
    $ rvm remove 1.9.2
    //查看版本号 
    $ ruby -v 
    //ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
    

    编译过程,完成以后,Ruby, Ruby Gems 就安装好了。

    5.执行安装CocoaPods命令

    $ sudo gem install  cocoapods
    $
    

    待安装成功后,验证一下

    $pod --version
    //1.2.1
    

    大功告成!!!!!

    3、CocoaPods的安装的常见问题

    1. 导入第三方库,不显示头文件
      解决方法:选择工程的 Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项, 新增一个值"$(PODS_ROOT)",并且选择\”recursive\”,这样xcode就会在项目目录中递归搜索文件。
    2. 当在update或install时遇到这个问题:
    Unable to find a specification for `xxxxx (~> 1.x.x)` depended upon by Podfile.
    

    只需要把当前Pod的目录清理一下就行了。在终端执行以下命令:

    pod repo remove master  
    pod setup  
    

    setup成功后执行install或update即可。

    4、Cocoapods的使用

    1.查找第三方库

    $ pod search AFNetworking
    

    2.使用
    (1)来到工程的目录下,新建一个名为Podfile的文件(这里通过命令行创建)$ touch Podfile
    (2)这个Podfile文件的作用是配置依赖库信息,就是告诉CocoaPods去下载和管理哪些依赖库,文件创建好以后,打开文件并加入内容。
    例如:
    platform :ios, ‘8.0’
    pod 'AFNetworking', '~> 2.6.0’
    (3)这时候,工程目录下就会有一个Podfile文件了,注意必须和.xcodeproj在同一个目录下。接下来就可以使用CocoaPods来安装并管理AFNetworking库了,确保命令行当前路径是在CocoaPodsTest目录下,运行如下命令。
    $ pod install(初始化)

    pod install --verbose --no-repo-update(不更新源初始化)
    pod update --verbose --no-repo-update(不更新源更显pod)
    

    5、Cocoapods的原理

    CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。技术细节:

    1. Pods项目最终会编译成一个名为libPods.a的文件,主项目只需依赖这个.a文件即可。
    2. 对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会被执行,将第三方库的各种资源文件复制到目标目录中。
    3. CocoaPods通过一个名为Pods.xcconfig的文件在编译时设置所以得依赖和参数。

    相关文章

      网友评论

        本文标题:iOS开发之使用CocoaPods做依赖管理

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