How do you set a designated app icon for TestFlight builds?

I currently have multiple macOS app icons configured in my project:

  • AppIcon.icon
  • AppIcon-Development.icon
  • AppIcon-Beta.icon

In Xcode, I can assign different app icons for Debug and Release configurations, which works well for local development and production builds.

However, I cannot find any equivalent way to specify a dedicated app icon for TestFlight distributions. I would like TestFlight builds to automatically use AppIcon-Beta.icon.

Where is this configured, or what is the recommended approach?

Is there a specific build setting, archive configuration or App Store Connect mechanism for this, or do I need to handle it manually using build configurations or schemes?

Thanks.

There's no TestFlight-specific icon setting that I know of: TestFlight just distributes whatever build configuration you archive, so the usual trick is a third configuration.

  1. Project > Info > Configurations: duplicate Release as "Beta".
  2. Build Settings > Primary App Icon Set Name (ASSETCATALOG_COMPILER_APPICON_NAME): Debug = AppIcon-Development, Beta = AppIcon-Beta, Release = AppIcon.
  3. Edit Scheme > Archive > Build Configuration: Beta when you want a TestFlight beta build, Release for the App Store build (or keep two schemes, one per channel).

Keep the bundle ID/display name in mind too if you want builds installed side by side.

Disclosure: I made a small open-source CLI, blueprint, that turns an .icon (or .appiconset) into an Xcode-beta-style blueprint version for Debug builds, so you never open the wrong build. It needs macOS 14+ and Xcode 26+. It isn't needed for the steps above, but might save you drawing the Debug variant: https://github.com/MustafaNatur/blueprint

How do you set a designated app icon for TestFlight builds?
 
 
Q