Skip to main content
Project Settings is a separate window for one session’s build setup. The sidebar shows the project, the session name, and its branch, so you always know which worktree you are editing. Below that are three sections: Schemes, Swift Packages, and Xcodebuild Settings. Settings here belong to the session you opened them from. Another session can use a different scheme, configuration, or set of arguments. See Worktrees for how sessions map to branches.

Open Project Settings

Use any of these:
  • Open a session’s ⋯ menu, or right-click the session in the sidebar, and choose Project Settings. This opens the Schemes section.
  • Press ⌘K and choose Open Session Settings. It opens settings for the active session.
  • Press ⌘K and choose Schemes, Swift Packages, or Build Settings to jump straight to that section. Build Settings opens Xcodebuild Settings.
The session menu entry appears only for sessions in a project FlowDeck can build, such as an Xcode project or Swift package. If the window is already open, choosing a section from a different session points it at that session.

Schemes

Use Schemes to pick the workspace and set how each scheme runs. Workspace. The menu at the top of the list shows the workspace or project FlowDeck is using in this session. Choose another one if the repository has more than one. The scheme list and the other sections follow your choice. Scheme list. Type in Filter schemes to narrow the list. If nothing matches, the list says No schemes match the filter. The list has two groups:
  • ALL SCHEMES has one row, All Schemes. Anything you set here applies to every scheme.
  • SHARED lists the schemes FlowDeck found in the workspace, with a badge when a scheme has a category.
Selecting a scheme also makes it the session’s active scheme. A scheme’s settings. Select a scheme to edit:
  • Configuration under BUILD AND RUN. Pick from the configurations the scheme offers, usually Debug and Release.
  • Arguments Passed On Launch, which are passed to your app when it starts.
  • Environment Variables, which are set in your app’s environment when it starts. Each row has a name and a value.
Add a row to either list, edit it in place, or remove it. Empty lists read No arguments configured or No variables configured. All Schemes settings. All Schemes has launch arguments and environment variables but no Configuration, since a single configuration cannot apply to every scheme. Its values appear dimmed in each scheme’s own lists, so you can see what is inherited.
Destination is not set in this window. Choose a simulator, device, or Mac from the destination picker in the toolbar. If a scheme does not support the current destination, FlowDeck switches to one it does support.

Xcodebuild Settings

Xcodebuild Settings applies to every build, run, and test in the session, whichever scheme you use. It has two lists:
  • Arguments are passed to xcodebuild as KEY=VALUE and reach the compiler, the linker, and your Xcode build settings.
  • Environment Variables are set for the xcodebuild process and reach Run Script phases and build tools.
Use Schemes for values your app reads at launch, and Xcodebuild Settings for values the build reads.

Swift Packages

Swift Packages lists the session’s direct package dependencies and lets you add, link, update, and remove them. The Add Package button appears in the window toolbar while this section is selected. See Swift Packages for the full flow.

What is saved, and where

Edits to configuration, launch arguments, environment variables, and Xcodebuild Settings save as you make them. There is no Save button. Your workspace and scheme choices apply when you close the window. Because the worktree owns its settings, changing a scheme in one session does not change it in another.

How new sessions pick their setup

When you create a session, FlowDeck starts from the last project configuration you confirmed in this repository. It reuses each part only if it is still available:
  • The workspace, if it still exists in the new worktree.
  • The scheme, if the workspace still has it.
  • The destination, if the scheme supports it and it is still available.
  • The configuration, if the workspace still offers it.
A part that is no longer available falls back to a default. Settings you change later in Project Settings affect only that session. They do not change what new sessions start from. If asking is on, a Project Configuration step appears while you create the session, with Workspace, Scheme, and Configuration. Check Don’t ask again for this project to skip it. FlowDeck then applies the remembered setup on its own. You can change this later from the project’s ⋯ menu with Ask Before Configuring New Sessions.