关于xcode Project navigator/项目导航栏的一些说明

本文基于 xcode12.4 版本做说明

首先要明确一点,导航栏这里展示的并不是当前工程在电脑硬盘中的文件结构,它展示的是xxxxxx.xcodeproj/project.pbxproj文件(后文简.pbxproj文件)中的内容。我们在导航栏中的操作就是修改该文件,有些操作会修改原有的磁盘文件结构(新增/删除 文件等)。

导航栏中的文件夹图标有三种,分别是:

蓝色的文件夹图标

这种代表导航栏中的该文件夹是对磁盘上某个文件夹的引用,文件夹展开后,内容与磁盘上的文件结构一致。

在【该目录下】,不管是在导航栏中还是在直接在磁盘上增/删,都会同步到另外一边。而对【该目录本身】右键删除时可以选择,会弹出提示框:

  • 选择"remove Refrences",会将该文件从项目(.pbxproj文件)中移除,但是不会删除磁盘中的文件
  • 选择"move to Trash",会将该文件从项目(.pbxproj文件)中移除,并且将磁盘中的文件移动到废纸篓

如何添加:导航栏里右键 "add files to xxxxxx" 选项,会弹出一个对话框,勾选"create folder references",然后选择要添加的文件夹

PS:勾选 "copy items if needed" 选项后,当选择的文件夹不在项目目录下时,会将该文件夹复制过来。这个看需求,如果接入sdk,建议勾选该选项;如果只是想方便在xcode浏览工程目录外的项目其他文件不要勾选。

黄色文件夹图标(两种)

这种颜色代表的是 .pbxproj文件中的一个组(group)

先说普通的,这种组(group)对应着磁盘上的某个文件夹,这种组(group)是将选择的磁盘上的文件夹的目录结构遍历并记录在项目(.pbxproj文件)中,它与上边的蓝色文件夹非常类似,新增/移动文件都会操作对应磁盘文件,但该目录并不保证完全显示磁盘上对应目录的所有文件:

  • 【该目录下】的删除操作均也会弹出"remove Refrences"/"move to Trash"的选项,即可能出现某个文件在这里不显示但是还在磁盘上
  • 如果在磁盘上删除了某个文件/文件夹,但是项目(.pbxproj文件)中仍然保存了它的信息, 这种情况下在导航栏中该条目就会被标为红色

这种有两个方式添加,右键 "new group";或者右键 "add files to xxxxxx" 选项,会弹出一个对话框勾选"create group",然后选择要添加的文件夹:

接下来是带脚标的黄色文件夹图标 ,就是这种就是纯粹逻辑上的组(group)了,主要是为了组织导航栏中的层次结构, 磁盘上不会存在与之对应的文件夹,新建/移动到该组下的文件默认置于工程的根目录下, 可以通过 "new group without folder" 创建。

相关推荐
denggun123452 小时前
卡顿监测原理
macos·ios·xcode
ChineHe8 小时前
Gin框架入门篇002_第一个Gin服务
macos·xcode·gin
ShawnRacine1 天前
iOS开发-安装cocoapods
ios·xcode·cocoapods
GokuCode4 天前
【GO高级编程】05.类的扩展与复用
golang·embedding·xcode
1024小神5 天前
xcode 中配置AR Resource Group并设置图片宽度等
ios·swiftui·ar·xcode·swift
1024小神7 天前
xcode多环境 Dev 、Debug 和 Release变量配置以及怎么切换不同环境
开发语言·macos·ios·swiftui·xcode·swift
xiAo_Ju9 天前
Xcode 26 Navigator 快捷键
xcode
松☆9 天前
OpenHarmony + Flutter 混合开发实战:构建支持多模态输入(语音+手势+触控)的智能交互应用
flutter·交互·xcode
风生u9 天前
Go: Gin的用法
golang·xcode·gin
记忆偶然11 天前
语音转文本技术方案评估与工具选型指南
ide·macos·xcode