CocoaPods都做了什么

首页 / 常见问题 / 低代码开发 / CocoaPods都做了什么
作者:开发工具 发布时间:10-22 16:47 浏览量:1065
logo
织信企业级低代码开发平台
提供表单、流程、仪表盘、API等功能,非IT用户可通过设计表单来收集数据,设计流程来进行业务协作,使用仪表盘来进行数据分析与展示,IT用户可通过API集成第三方系统平台数据。
免费试用

CocoaPods都做了什么:1、支持插件;2、支持私有库;3、版本管理;4、分析依赖。支持插件是指CocoaPods提供了各种插件,可以定制化依赖管理过程。支持私有库是指开发人员可以通过CocoaPods上传自己的私有库。

一、CocoaPods都做了什么

1、支持插件

CocoaPods提供了各种插件,可以定制化依赖管理过程,如将Podfile转换成其他依赖管理格式等。

2、支持私有库

开发人员可以通过CocoaPods上传自己的私有库,方便团队内部共享使用,并且可以限制访问权限。

3、版本管理

CocoaPods会记录每个依赖库的版本信息,开发人员可以指定使用特定版本的库,适配自己的项目需求。

4、分析依赖

CocoaPods支持通过命令行或网页来分析依赖关系,便于理解和管理整个项目中各个依赖库之间的关系。

二、CocoaPods

1、CocoaPods 是什么

CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPods 的项目源码在 GitHub( https://github.com/CocoaPods )上管理。开发 iOS 项目不可避免地要使用第三方开源库,在使用第三方库时,除了需要导入源码,集成这些依赖库还需要我们手动去配置,还有当这些第三方库发生了更新时,还需要手动去更新项目,这就显得非常麻烦。而 CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间,通过 CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成。

2、CocoaPods 的原理

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

  • 第三方库会被编译成 .a 静态库或者 .framwork 的动态链接库供我们真正的工程使用。 CocoaPods 会将所有的第三方库以 target 的方式组成一个名为 Pods 的工程,该工程就放在刚才新生成的 Pods 目录下。整个第三方库工程会生成一个名称为 libPods.a 的静态库供我们的工程使用。 对于资源文件,CocoaPods 提供了一个名为 Pods-resources.sh 的 bash 脚本,该脚本在项目每次编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。
  • 原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错。我们的工程和第三方库所在的 Pods 工程会被以一个新生成的 workspace 的形式组织和管理,方便我们直观的管理工程和第三方库。
  • CocoaPods 通过一个名为 Pods.xcconfig 的文件来在编译时设置所有的依赖和参数。

3、CocoaPods 的核心组件

CocoaPods 是用 Ruby 写的,并划分成了若干个 Gem 包。与 CocoaPods 相关的两个目录:

  • ~/.CocoaPods/repos/:这个目录存储远端的 podspec 文件到本地。master 是所有第三方的 podspec 索引文件。其它的是我们自定义的 podspec 索引文件。
  • ~/Library/Caches/CocoaPods/:这个目录就是缓存文件的存储目录。

CocoaPods 在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPods、CocoaPods/Core 和 CocoaPods/Xcodeproj:

  • CocoaPods/CocoaPods:这是面向用户的组件,每当执行一个 pod 命令时,这个组件将被激活。它包括了所有实用 CocoaPods 的功能,并且还能调用其它 Gem 包来执行任务。
  • CocoaPods/Core:Core Gem 提供了与 CocoaPods 相关的文件(主要是 Podfile 和 Podspecs)的处理。其中Podfile用于配置项目所需要的第三方库,它可以被高度定制;Podspecs描述了一个库将怎样被添加进工程中。.podspec 文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。
  • CocoaPods/Xcodeproj:这个包负责处理工程文件,它能创建以及修改 .xcodeproj 文件和 .xcworkspace 文件。它也可以作为一个独立的包使用,当你要编写修改项目文件的脚本时,可以考虑使用 CocoaPods/Xcodeproj。

4、CocoaPods给我们带来的好处

  • 该工具是开源的,在GitHub上可查;
  • 通过CocoaPods配置文件,可方便引入所需第三方开源库;
  • 第三方库版本管理简单,升级容易;
  • 方便查找第三方库(官网 or 命令行);
  • 一般的项目都是团队合作,团队成员只需安装该工具就能完成第三方库引入(无需每人都做1.3中的步骤);
  • 制作公共库,并发布至CocoaPods上,其他人可方便使用。

三、常用的开发IOS项目第三方库

  • JSPatch:热修复,为项目动态添加模块,或替换项目原生代码动态修复 bug
  • ReactiveCocoa: 函数响应式编程,使用 MVVM 搭
  • RxSwift:Swift 函数响应式编程框架。
  • BlocksKit: blocks 包,喜欢用 Block的非常适合,学习 block 的好库。
  • JKCategories:iOS 中常用到的 Category ,可以好好学习
  • YYKit:庞大、丰富的 iOS 组件,也是学习的好地方。
  • CocoaAsyncSocket:异步 socket 通讯类库
  • GPUImage:图片过滤
  • AsyncDisplayKit:将图像解码、布局以及渲染操作放在后台线程,带来更好的用户交互体验的框架。
  • PromiseKit : 一个用来出来异步的编程框架(Swift)

延伸阅读1:安装cocoapods的命令

sudo gem install cocoapods (osx 10.11以前)
sudo gem install -n /usr/local/bin cocoapods (10.11后苹果升级了安全策略)
最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。

最近更新

什么是外向潜在客户开发
10-30 10:47
产品开发过程的阶段有哪些
10-30 10:47
敏捷软件开发如何运作?
10-30 10:47
门禁系统开发厂家有哪些
10-30 10:47
销售系统开发平台有哪些
10-30 10:47
OSS系统开发商有哪些
10-30 10:47
云系统开发注意哪些方面
10-30 10:47
印度棋牌系统开发商有哪些
10-30 10:47
高压系统开发部是什么公司
10-30 10:47

立即开启你的数字化管理

用心为每一位用户提供专业的数字化解决方案及业务咨询

  • 深圳市基石协作科技有限公司
  • 地址:深圳市南山区科技中一路大族激光科技中心909室
  • 座机:400-185-5850
  • 手机:137-1379-6908
  • 邮箱:sales@cornerstone365.cn
  • 微信公众号二维码

© copyright 2019-2024. 织信INFORMAT 深圳市基石协作科技有限公司 版权所有 | 粤ICP备15078182号

前往Gitee仓库
微信公众号二维码
咨询织信数字化顾问获取最新资料
数字化咨询热线
400-185-5850
申请预约演示
立即与行业专家交流