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

相关推荐
我现在不喜欢coding15 小时前
混乱的scheme、.xcconfig、build Settings梳理的清清楚楚
ios·xcode
0wioiw02 天前
Apple基础(Xcode①-项目结构解析)
ide·macos·xcode
名字不要太长 像我这样就好2 天前
【iOS】weak修饰符
macos·ios·objective-c·cocoa·xcode
Magnetic_h3 天前
【iOS】类和分类的加载过程
笔记·学习·ios·objective-c·xcode
mobsmobs8 天前
Flutter开发环境搭建与工具链
android·flutter·ios·android studio·xcode
mobsmobs8 天前
Flutter之Widget体系与布局原理
android·flutter·xcode·dart
水木姚姚11 天前
图书管理软件iOS(iPhone)
macos·ios·iphone·xcode·swift
Keya15 天前
lipo 命令行指南
ios·xcode·swift
大熊猫侯佩17 天前
探秘 WWDC 25 全新 #Playground 宏:提升 Swift 开发效率的超级神器
xcode·swift·wwdc
bryceZh19 天前
Cursor/VScode+iOS开发工具链
ai编程·xcode·visual studio code