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

相关推荐
2501_9160088920 小时前
移动安全之 APP 加固,保障移动应用安全的重要手段
安全·macos·ios·小程序·uni-app·iphone·xcode
MoSTChillax2 天前
数字人竞品分析(中):核心功能、产品使用与技术能力对比
ide·macos·xcode
2501_915106322 天前
SwiftUI项目创建详解:使用Xcode从零开始创建第一个App项目
ide·vscode·ios·swiftui·个人开发·xcode·敏捷流程
2501_915918412 天前
Xcode调试iOS应用内存管理与优化,识别泄漏与性能监控指南
android·ios·小程序·uni-app·cocoa·iphone·xcode
声讯电子4 天前
AU-60 语音处理模组:智能家居人机交互的听觉中枢
人机交互·智能家居·xcode·ai降噪·回音消除·语音处理模组
for_ever_love__4 天前
iOS: 网络请求第三方库的使用: AFNetworking
网络·学习·ios·objective-c·cocoa·xcode
zhao1zhihui5 天前
iOS Bug 定位实战:从断点、LLDB 到 Xcode 与 Instruments
ios·xcode
2501_916007478 天前
SwiftUI 声明式语法与 Xcode 预览功能详解
ide·vscode·ios·swiftui·个人开发·xcode·敏捷流程
2501_915921438 天前
iOS手游安全反外挂解决方案:基于Xcode的加固混淆特色详解
android·安全·ios·小程序·uni-app·iphone·xcode
_瑞9 天前
怎么知道 App 到底卡在哪?
ios·xcode