iOS学习笔记iOS学习开发程序猿阵线联盟-汇总各类技术干货

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

2017-06-07  本文已影响0人  f1e583c455bf

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的文件在编译时设置所以得依赖和参数。
上一篇下一篇

猜你喜欢

热点阅读