Skip to content

Latest commit

 

History

History
17 lines (12 loc) · 1.33 KB

ProjectGroups.md

File metadata and controls

17 lines (12 loc) · 1.33 KB

Project Groups

How do we use them?

Organize Xcode groups first by feature and then by architecture component, if needed.

Example

The following example shows a project structure with three top level directories consisting of one feature directory and two application-related directories.

49822191-6c3acc00-fd4a-11e8-8baf-f928a6c82f0a

Key Considerations

  • Every file should exist within an Xcode group, categorized first by feature, with exceptions listed below:

    • The Application group is a special case that is neither a feature nor an architecture component. This group should contain files associated with the application entry point, such as Main.storyboard and AppDelegate.swift.
    • The Resources group houses supporting files to the main application that are more static in nature. This group should contain files like Info.plist, Assets.xcassets, and LaunchScreen.storyboard.
  • The above Checkout group is a feature that has its files distributed into groups related to its architecture.

  • When a feature group grows to contain more than five files consider adding sub-groups to categorize the files by architecture component, e.g. Models, Views, Controllers, etc.