洋仔的博客 洋仔的博客
首页
  • 个人心法总结

    • 价值心法
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • iOS基础知识
  • 前端
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 投资体系
  • 毛选
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

洋仔

奋斗的小青年
首页
  • 个人心法总结

    • 价值心法
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • iOS基础知识
  • 前端
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 投资体系
  • 毛选
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

  • GitHub技巧

  • Nodejs

  • 博客搭建

  • iOS基础知识

    • iOS底层相关

    • Runloop系列

    • Runtime系列

    • 内存管理系列

    • Block系列

    • 线程系列

    • KVC跟KVO系列以及通知中心

    • UI系列

    • 离屏渲染系列

    • 组件化系列跟架构

    • OC跟webview交互系列

    • 持久化系列

    • APP编译系列

    • APP性能优化系列

    • cocoapods系列

      • cocoapods原理
        • 请说明一下Cocopods的作用和原理
        • 请简单说明在安装cocoapods时,使用pod install命令安装框架后的大致过程?
        • pod相关
          • pod install
          • pod update
          • 当新加入团队的成员下载你的开发项目后,应该运行pod install还是pod update?
    • swift系列

    • Git系列

    • 网络相关

    • 三方库系列

    • 系统原理

    • 总结系列

    • 算法系列

    • 数据结构系列

  • 前端

  • 技术
  • iOS基础知识
  • cocoapods系列
洋仔
2023-09-21
目录

cocoapods原理

# 请说明一下Cocopods的作用和原理

CocoaPods是一个第三方库的管理工具,用来管理项目中的第三方框架。它的原理就是将所有的依赖库都放到一个名为Pods的项目中。Pods项目会编译出一个libPods.a的文件,主项目只要依赖这个.a文件即可。这样,依赖库源码管理的工作都从主项目移到了Pods项目中。

# 请简单说明在安装cocoapods时,使用pod install命令安装框架后的大致过程?

  • 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
  • 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
  • 整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接

# pod相关

# pod install

  • 就是说,当你在项目中的Podfile配置文件中添加、删除、或者更新版本号时使用,也就是用来安装新Pod,删除pod,或者根据你设置的pod版本号来安装

  • 安装完后,会自动生成Podfile.lock文件,该文件记录着Podfile配置的所有Pod的版本信息,依赖库信息,和pod库的checksum(校验码)

# pod update

也就是当我们想把已有的库更新到最新版本时使用。比如当前的AFNetworking的版本时3.2.1,那么最新版本时4.0.1,通过pod install并不会更新库到最新版本,而pod update却可以更新到最新的版本'AFNetworking', '~>4.0.1'

# 当新加入团队的成员下载你的开发项目后,应该运行pod install还是pod update?

答:pod install,因为我们要保证该项目里的每个团队成员都是用相同的pod库的版本,所以pod install会根据Podfile.lock文件里的版本信息进行下载;如果运行pod update,那就忽略Podfile.lock内容,直接去远程拉去最新的pod库信息

编辑 (opens new window)
上次更新: 2023/10/28, 15:22:03
货拉拉iOS弹窗调度方案设计与实践
swift跟OC对比

← 货拉拉iOS弹窗调度方案设计与实践 swift跟OC对比→

最近更新
01
数组
10-25
02
数组双指针系列之对撞指针
10-25
03
数组双指针系列之快慢指针
10-25
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式