CocoaPods的安装与使用

10 篇文章 0 订阅
5 篇文章 0 订阅

CocoaPods简介

官方网站:https://cocoapods.org/ CocoaPods

         CocoaPods是 Swift 和 Objective-C Cocoa 项目的依赖管理器。 它拥有超过 98000 个库,并用于超过 300 万个应用程序。

        CocoaPods 可以帮助您优雅地扩展项目 使用 CocoaPods 的目的是让我们能自动的,集中的,直观的管理第三方库

为什么使用CocoaPods

  1. 在进行 iOS 开发时免不了会使用第三方的开源库,使用这些开源库通常需要:
  2. 下载开源库源代码并引入工程
  3. 想工程中添加开源库使用到的 framework
  4. 解决开源库和工程 ,开源库和开源库之间的依赖关系,检查重复添加的 framework 等问题
  5. 如果开源库有更新的时候,还需要 将工程中的开源库更新到最新的版本    

如果没有 cocoapods ,所有的这些都需要我们手动完成,但是使用cocoapods 会自动为我们做好这一切

CocoaPods原理

CocoaPods下载原理:

        当使用 cocoapods 导入第三方库时,cocoapods先是根据 库的地址 git => https://github.com/AFNetworking/AFNetworking.git 找到对应的 git 仓库

        然后根据对应的版本号 tag => ‘1.0.0’ 定位到对应的 tag 提交(如果没有指定版本号则下载最新的 然后在这次提交中找到后缀为 .podspec 的文件 找到 .podspec 文件后先要验证 s.name 是否与 Podfile文件中一致,如果不一致报错没找到

        验证成功后,会根据 .podspec 中的 s.source_files 找到需要导入的代码文件,并通过其他数据找到对应的配置文件和资源文件 最后,将其下载到本地项目中

CocoaPods集成原理

        当所有的依赖库都下载完成后

        Cocoapods 会将所有的依赖库都放到另一个名为 Pods的项目中

        然后让主项目依赖 Pods项目这样源码管理工作都从主项目转移到了 Pods 项目, Pods项目 最终会编译成一个名为 libPods.a 的文件,主项目只需要依赖这个 .a文件即可

        对于资源文件, Cocoapods 提供了一个名为 Pods-resources.sh 的 bash 脚本,该脚本在 每次项目编译的时候都会被执行,将 Pods 依赖库的各种资源文件复制到目标目录中

         Cocoapods 还通过一个名为 Pods.xcconfig 的文件在编译时设置所有的依赖和参数

CocoaPods版本控制原理

        当执行完 pod install 之后,Cocoapods 会生成一个名为 Podfile.lock 的文件,这个 .lock 文件最大的用处在于多人开发,如果没有在 Podfile 中指定 Pods 版本,那么默认为获取当前三方库的最新版本

        当团队中某人执行完 pod install 命令后,生成的 podfile.lock 就记录下了当时最新 Pods 依赖库得版本,这时团队中的其他人 check 下来的这份包含 Podfile.lock 文件的工程以后,再去执行 pod install 命令时,获取下来的 pods 依赖库的版本就和最开始的用户获取的版本一致

        如果没有 Podfile.lock 文件,后续所有执行的 pod install 都会获取最新版本的依赖库,这就造成了一个团队中使用的依赖库的版本不一致,这是致命性的灾难

CocoaPods安装步骤

1.更新ruby源

首先查看系统源,终端输入以下查询

gem sources -l

一般情况下,如果以前没有操作过的话,系统默认 ruby 源为

https://rubygems.org/

但是这个在国内是用不了的,所以我们需要更换成可以使用的 ruby 源,可以先将查询到的默认源移除

gem sources --remove https://rubygems.org/

然后添加可用 ruby 源

gem source -a https://gems.ruby-china.com/

成功后还显示 xxx added to sources

https://ruby.taobao.org 这是原来使用的淘宝镜像,已经不更新无法使用了,所以放弃

https://gems.ruby-china.com 这是目前使用的ruby源

2.更新 gem

sudo gem updates —system

3.安装 cocoaPods

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

但是会报错, 这是因为没有安装 rvm

4.查看 rvm 版本

查看 rvm 是否存在

rvm -v

如果不存在

安装 rvm

curl -sSL https://get.rvm.io | bash -s stable

但是这时候可能又会报错 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused的几种解决方式

这是因为没有安装homebrew

5.安装 homebrew

一句代码搞定:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装完 homebrew 之后,再去安装 rvm ,然后再跳回去安装 cocoapods 这时候你会发现就会成功了

CocoaPods的使用 

  1. 在新建 Xcode 项目,在终端里 cd 到项目的主文件夹(就是包含项目.xcodeproj的文件)
  2. 创建 Podfile 文件:pod init
  3. 编辑 Podfile 文件:vim Podfile,后边加版本号则为指定版本,不写版本号,则会安装最新的版本。多人开发时,尽量指定版本。不然容易导致不同开发者的版本不一致,出现问题。
  4. 保存文件安装第三方库 更新库依赖: pod update (记得 cd 到项目的主文件夹下)
  5. 安装依赖库: pod install 安装完成后此时项目文件中会多出 .xcworkspace 文件,以后就通过它来打开项目

  • 40
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值