https://juejin.cn/post/7257048145233838141?searchId=20240531171431E5868B41DC7B7016CCBA
CocoaPods
CocoaPods的作用
帮助程序员通过命令管理第三方库及更新,以达到扩展项目的目的。
CocoaPods的使用
在已有的工程目录下新增某个第三方库:(首先确保工程目录已有podfile文件,若没有,通过pod init创建)
- pod search 第三方库名字
- 打开Podfile文件:open Podfile后写入第三方库信息
- 终端输入pip install 安装第三方库
- open .xcworkspace 开始编程
CocoaPods的命令
pod install:在安装前会更新本地repo库。
pod install --no-repo-update:不会更新本地repo库,直接安装pod。
pod install:安装类库,第一次使用时,用pod install,安装所需要的所有类库。后续使用时,会引入之前没有引入的类库。
pod update:更新所有的类库到指定版本范围内的最新版本。
CMake
【C++】为什么需要CMake?_c++ cmake-CSDN博客
【C++】Cmake使用教程(看这一篇就够了)-CSDN博客
特性/属性 | CMake | CocoaPods |
主要用途 | 构建、测试、打包和管理跨平台项目 | 管理 iOS 和 macOS 项目的依赖库 |
主要语言 | C/C++ | Swift、Objective-C |
目标平台 | 跨平台(Windows、Linux、macOS 等) | iOS 和 macOS |
配置文件 | CMakeLists.txt | Podfile |
依赖文件格式 | 无特定格式(直接在 CMakeLists.txt 中定义) | .podspec |
常用生成工具 | Makefile、Ninja、MSBuild、Xcode 等 | Xcode 项目文件 |
主要管理对象 | 项目结构(编译、链接等)和依赖管理 | 依赖库的下载和集成 |
集成方式 | 编译时集成(通过查找并生成目标) | 源代码方式集成(将依赖库下载到本地项目) |
依赖管理功能 | 依赖查找和导入功能(find_package等) | 依赖自动下载和管理(版本控制等) |
安装方法 | 自定义安装脚本 | 使用 gem install cocoapods |
生态系统 | 一般用于 C/C++ 项目 | 专门针对 iOS 和 macOS 项目 |
社区与维护 | C++ 社区广泛使用和贡献 | iOS 社区广泛使用和贡献 |
扩展性 | 高,可以自定义各种编译和配置步骤 | 专注于 CocoaPods 生态系统的扩展 |
配置复杂度 | 一般需要更多手动配置(适用多种工具链、平台) | 相对简单(自动下载并集成依赖到 Xcode 项目中) |
Cmake本质上帮我们做的事情就是针对于不同的编译器,生成相对应的编译命令。针对Linux下的g++就是Makefile文件,针对win下的MSVC就是.sln文件。