关于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" 创建。

相关推荐
『昊纸』℃1 天前
Mac上编译C语言的简易方法
c语言·mac·教程·xcode·编译
LCG元3 天前
STM32嵌入式开发:基于LD3320的智能语音识别系统
stm32·语音识别·xcode
茶底世界之下3 天前
诡异!String 参数在闭包里变成了 <uninitialized>,我排查了整整两天
ios·xcode·swift
星辰即远方4 天前
UITableView操作拓展
macos·ios·xcode
qq_411262425 天前
四博AI智能音响方案(基于四博小助手AITOYO2)
人工智能·macos·xcode
白玉cfc7 天前
OC底层原理:alloc&init&new
c++·macos·ios·objective-c·xcode
iFlyCai7 天前
iOS开发进阶:深入理解 Getter 与 Setter 的用法(超详细)
ios·objective-c·xcode
2501_9159184110 天前
快蝎iOS开发IDE:免Xcode开发,支持Swift/Flutter项目
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
2501_9159090610 天前
Xcode从入门到精通:全面解析iOS开发IDE的核心功能与实际应用指南
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
大嘴皮猴儿12 天前
从零开始学商品图翻译:小白也能快速掌握的多语言文字处理与上架技巧
大数据·ide·人工智能·macos·新媒体运营·xcode·自动翻译