Skip to content

Condense iOS and macOS into a single Xcode project #114179

@leighajarett

Description

@leighajarett

Use case

It seems that when you deploy a Flutter app to iOS and macOS, you would need to take some repetitive steps. For example, opening the 'ios' folder in Xcode to change build settings, and then later open the 'macos' folder in Xcode to change the build settings again.

Steps are detailed here: https://docs.flutter.dev/deployment/macos#review-xcode-project-settings

Proposal

When you use the Swift multi-platform you have one project, with one target for the app itself. The project settings specify two deployment targets, and the app target allows you control the specifics for macOS and iOS as shown below. If Flutter generated just a single project, it would make it easier to complete some of the duplicate steps and also may make it easier to manage common assets for the app store.

Screenshot 2022-10-27 at 4 25 17 PM

Full disclosure, I'm not even sure this is a good idea. If most people are just developing for iOS and Android, then this might give unnecessary overhead (deleting the mac target information). Another alternative is adding documentation that walks through adding macOS as a supported destination for the iOS runner project, but not sure if that would just work, or if will be confusing if the macOS project still exists.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectplatform-iosiOS applications specificallyplatform-macBuilding on or for macOS specificallyteam-iosOwned by iOS platform teamtriaged-iosTriaged by iOS platform team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions