[Android开发学iOS系列] iOS项目环境搭建和依赖管理

💡 原文中文,约4100字,阅读约需10分钟。
📝

内容提要

本文介绍了在iOS项目中搭建环境和管理依赖的方法,包括全局环境准备、Bundler和CocoaPods的安装和使用,已有项目的配置方法,以及如何使用CocoaPods添加和使用CocoaPod库。还提到了其他依赖管理工具和项目结构和问题解决的方法。

🔎

延伸解读

Bundler与CocoaPods的层级关系

文章指出Bundler管理Ruby gems,而CocoaPods本身是一个Ruby gem,因此被Bundler管理。这种层级关系意味着在已有项目中,通常先执行bundle install安装CocoaPods等gem,再通过bundle exec pod install安装Pod依赖。这样做可以锁定CocoaPods版本,避免因版本差异导致依赖解析结果不一致。

依赖安装后的文件变化与版本控制

使用CocoaPods添加库后,项目会生成Pods文件夹和Podfile.lock文件,同时.xcworkspace和project.pbxproj也会改变。文章强调Pods文件夹应被ignore,而Podfile.lock不应被ignore,这有助于团队统一依赖版本。此外,project.pbxproj在文件增删改时会产生diff,可借助脚本工具排序以减少冲突。

Xcode文件管理的两种存在形式

文章提到Xcode中的文件分为“物理上存在”和“引用上存在”。删除文件时可以选择仅删除引用或同时删除物理文件;添加文件时仅拷贝到目录不够,必须通过“Add Files”操作才能在Xcode中可见。理解这一点有助于避免文件管理混乱,尤其是在多人协作或迁移项目时。

真机调试的证书与DeviceSupport

真机调试需要证书,并非连接设备即可安装应用。当设备OS版本高于Xcode支持的版本时,可能需要手动添加DeviceSupport文件。文章给出了相关资源链接,并说明将文件拷贝到Xcode的DeviceSupport目录后重启Xcode即可。这为使用旧版Xcode调试新系统设备的开发者提供了解决思路。

❓

Q&A

如何在iOS项目中搭建开发环境?

在iOS项目中搭建开发环境需要安装Homebrew、rbenv和Ruby,并设置全局环境。

CocoaPods和Bundler有什么区别?

CocoaPods用于管理iOS项目的pod依赖,而Bundler用于管理Ruby gems的依赖。

如何使用CocoaPods添加依赖库?

使用CocoaPods添加依赖库需要创建Podfile并在其中添加所需的库,然后运行'pod install'命令。

在已有项目中如何配置依赖?

在已有项目中,需要执行'bundle install'和'bundle exec pod install'命令来配置依赖。

iOS项目中有哪些依赖管理工具?

iOS项目中主要有CocoaPods、Carthage和Swift Package Manager三种依赖管理工具。

如何解决Xcode中的文件管理问题?

在Xcode中添加文件时需使用'Add Files',并注意文件的物理存在和引用存在的区别。

🏷️

标签

➡️

继续阅读