I use Xcode 9.0. Some folders icons in my Xcode project have dark triangles in bottom left corner - for example, "0. Login", "Frameworks", "Products", "Pods". What does this mean?
2 Answers
Folders without dark triangles exist as a group in your project and also (what is new in Xcode 9) exist as a folder in file structure.
Example: After double-click in your project navigator you can see menu:
For New Group Xcode create group in project navigator and create folder in file structure (in finder) and of cource for New Group without Folder create only group.

- 698
- 1
- 8
- 18
-
1[Xcode 9.0 release notes](https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html) has some additional information about **New Features** such that "Groups in the Project Navigator are now more closely associated with directories in the file system. (28612132)" – marc-medley Dec 23 '17 at 02:21
The introduction of yellow folders with a triangle ( ) in Xcode 9 coincides with the additional new feature which allows a Project Navigator Group to be directly associated with a file system directory.
The Xcode 9/10 yellow folders with a triangle ( ) represents a Group not associated with a file system directory. Thus, an Xcode 9/10 yellow folder-with-a-triangle Group (
) is the same as an Xcode 8 plain yellow Group (
) …since prior to Xcode 9, Project Navigator Groups could not be expressly associated with a file system directory.
In Xcode 9/10, a file system directory association can be expressly added to or removed from a Project Nagivator Group with the File Inspector. The triangle will toggle on or off to indicate whether a file system association is present for the Group.
Click File Inspector folder icon to add a file system "Containing directory" association to a group:
Click the File Inspector Clear path
⊗ to remove a file system directory association from a group. Or, click the folder icon to change the file system "containing directory" association to a group:
The Xcode > File > New menu or Project Navigator context menu can add Groups in the following ways:
Note that the appearance of Group with Folder
and Group without Folder
is context sensitive.
New Group
: creates an empty group of the same group type as the current uppermost selection in the Xcode Navigator. The opposing alternative ofGroup with Folder
orGroup without Folder
will also appear on the same menu.New with Group
: () creates an empty group and creates an associated "containing" file system directory.
New Group without Folder
: () creates a new empty group without any file system directory association.
New Group from Selection
: creates a group of the same type at the current Xcode Navigator seletion.- context within a
Group with Folder
() creates an empty group and creates an associated "containing" file system directory AND moves the selected items into the newly created "containing" directory in the file system.
- context within
Group without Folder
() creates an group which references the selection without creating any new folder in the file system.
- context within a
Additionally, with the new Xcode 9 features, the drag and drop of a file system directory onto the project navigator will create Groups ( ), and sub Groups (
), that are each associated with the corresponding original file system directory.
The Xcode 9 release notes notes that a Group with associated file system directory also have the following new beharviors:
Dragging files between groups in the Project Navigator moves the files in the filesystem and updates any associated SCM working copies.
When a group is connected to folder in the filesystem, creating, renaming, and deleting groups updates the corresponding files and folders in the the filesystem.
Addendum - Blue (Referenced) Folder
Blue referenced folders are useful for non-source-code assets which need to be copied into a target bundle during the build process.
When dragging an existing folder to Xcode, an option is provided "Create folder references" for the added folder.
"Create folder references" will create a blue folder in the project navigator. And, the contents of the folder will also be added. "SomeReferencedFolder" was added in the following Example.xcodeproject
which contained ABC.pdf
.
In this macOS Example application case, the referenced folder and the referenced folder content are copied into the Example.app bundle. The copy occurred as part of the build process since "Add to targets: Example" was checked.
Note: Xcode 9 & Xcode 10 groups behave the same.

- 1
- 1

- 8,931
- 5
- 60
- 66
-
I quickly understood this new principle. But then I was dragging an existing folder (which is in my project folder) into my project in Xcode and selected _create folder references_. I assumed it would be a yellow folder. But it got blue :D. I got the expected result when I dragged the folder outside of the project and dragged it into Xcode from there while selecting _create groups_. – heyfrank Feb 20 '18 at 13:11
-
@fl034 an addendum has been added to the answer which covers blue folder. Blue (referenced) folders are useful for (non-code) files which are to be copied into the app bundle. – marc-medley Feb 21 '18 at 01:15
-
1
-
2I don't know about Xcode 9.4.1 but in Xcode 10 beta it is "Group" and "Group with folder" now. I think they inverted them (i.e. "Group" now doesn't create any folder, just a reference). At least that's what they did in my test. – Michele Dall'Agata Jul 23 '18 at 07:53
-
-
Great answer, but I am still confused about when to use a Group without Folder over Group with Folder. Can you elaborate? – Duncan Lukkenaer Jul 25 '18 at 09:21
-
@duncan-luk "… when to use …" is mostly a personal preference. My default preference (for my own projects) is "Group with folder" so that what I see in the Xcode Project navigator matches whats on the file system. At said, when I'm working on a project which is not my own project (i.e. i can't just change the file structure to my pleasing), the abstracted "Group without folder" can help me focus on areas of interest within Xcode while leaving the file structure as-is. – marc-medley Jul 25 '18 at 15:15
-
Thanks for the explanation. So there is no real advantage of using one or the other except that Git will include the file structure when using real folders. I suppose I will just always choose for real folders then for consistency. – Duncan Lukkenaer Jul 25 '18 at 15:20
-
@michele-dallagata The appearance of "Group with Folder" and "Group without Folder" is based on the context selected in the Xcode Navigator panel. The appearance and behavior appears to be the same in both Xcode 9 and Xcode 10. The answer has been updated to reflect this additional information. Thanks. – marc-medley Jul 25 '18 at 19:18
-
@duncan-luk Another "with folder"|"without folder" scenario is when the Swift Package Manger generates an Xcode project. SwiftPM creates a mix of "with folder" and "without folder" groups. The SwiftPM generates groups "without folder" to smartly map some of the top level file structure to be less cluttered in the Xcode. Then, underneath the top level groups "without folder" are groups "with folder" where most of the source code work resides. Thus, a group "without folder" can help abstract some (often top level) location which contains some groups "with folder". – marc-medley Jul 25 '18 at 21:15