CocoaPods实践

作者: sakuragi | 来源:发表于2016-06-22 15:39 被阅读82次

为什么需要使用CocoaPods

  • 货车帮iOS货主版一共用了34个三方库,集成这些库到这些工程中来,我们需要做很多事情
    • 复制源码
    • 添加framework
    • 某些开源库,设置编译参数
    • 更麻烦的是管理这些依赖库的更新
      • 私有的公共库的管理

CocoaPods的介绍

  • CocoaPods是一个用来帮助我们管理第三方依赖库的工具
    • 使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库

CocoaPods的原理

  • 第三方库会被编译成.a静态库供我们真正的工程使用
  • 我们的工程和第三方库所在的工程会由一个新生成的workspace管理
  • 原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理
  • CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置所有的依赖和参数

与 Carthage的比较

  • CocoaPods默认会自动创建并更新你的应用程序和所有依赖的Xcode workspace。Carthage使用xcodebuild来编译框架的二进制文件,但如何集成它们将交由用户自己判断。CocoaPods的方法更易于使用,但Carthage更灵活并且是非侵入性的。
  • Cocoapods是一个中心化的依赖管理工具,能提高第三方库的可见性和参与度。Carthage是一个去中心化的依赖管理工具,它没有总的仓库列表,这能减少维护工作并且避免任何中心化带来的问题。
  • Carthage只支持动态库,所以只能在iOS8以上的版本中使用。

CococaPods在我们项目中的使用

  • 可以用来管理一些我们项目中的三方库
  • 尽量避免对这些三方库的修改,如果需要修改
  • 如果需要修改
    • 尽量在外部修改
    • fork一份代码创建一个私有库,并保持这个库的跟进更新
    • 万不得已用原始的方式添加
  • 创建私有仓库,管理组件化的公共库
    • 私有库的创建过程
    • 可能会存在的一些问题,
      • 复杂组件耦合度太高,难以创建私有库
      • 复杂组件创建subspec
    • 好处
      • 避免重复造轮子
      • 这也是一种知识产出
  • 注意事项
    • 该组件的作者负责创建并维护该私有仓库,在xxx.md中写清楚该组件的详细使用,并提供Demo
    • 如果需要引入三方库,需要技术团队进行评估
    • 代码的管理

参考文章链接

相关文章

  • iOS组件化实践(基于CocoaPods)

    iOS组件化实践(基于CocoaPods) iOS组件化实践(基于CocoaPods)

  • CocoaPods实践

    为什么需要使用CocoaPods 货车帮iOS货主版一共用了34个三方库,集成这些库到这些工程中来,我们需要做很多...

  • CocoaPods实践

    最近在学习cocoaPods,在使用cocoaPods的时候遇到一些问题,记录下来,分享给大家,希望多多交流。...

  • CocoaPods安装实践

    一、CocoaPods安装步骤1、查看当前源$ gem sources -l如果输出下面的 Ruby 默认源需要移...

  • CocoaPods应用实践

    CocoaPods是一个对Xcode项目进行包依赖管理的工具。应用起来十分简单,方便。 安装 CocoaPods是...

  • cocoaPods使用实践[合格]

    第一篇,往xcode工程引入cocopods管理三方依赖一,cocopods概述cocopods是一个管理三方依赖...

  • CocoaPods实践与理解

    /** 写在前面,我是新手经验和知识量还不够,有些理解和解释有bug,我自己都不知道哈哈。辩证的看哦 **/ 来我...

  • CocoaPods组件化实践

    前言 工程项目越来越大,团队成员越来越多的情况下,组件化是趋势,组件化好处就不细说了.实施组件化之前我们首要的就是...

  • 私有Pod的一些问题与处理办法

    CocoaPods 组件化实践 - 私有Podhttp://www.jianshu.com/p/475d6b6d5...

  • Swift 项目网络实践

    记录我使用的最简网络实践,方便复用: 包安装:CocoaPods 网络请求:Alamofire JSON解析:Sw...

网友评论

    本文标题:CocoaPods实践

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