Looks like Tahoe/Xcode beta 5 no longer lets me show my pre-Tahoe app icons in pre-Tahoe OSes. This is a bummer. I filed FB19437407 asking for the ability to do this.
@siracusa You can still do it in b5 by setting different filename for CFBundleIconFile (old) and CFBundleIconName (new), and need to do it in Info.plist and unset the App Icon setting in Xcode so that the values are preserved in output Info.plist
@vslavik This doesn’t seem to work for me. Here’s the Info.plist settings from the built app. “AppIconGood” is the old, pre-Tahoe icon. I see AppIconGood.icns in Contents/Resources in the built app, and it is the expected old icon. But the built app shows the new Tahoe app icon in the Finder in both Tahoe and Sequioa. What am I missing?
@siracusa I only tried with app icon in Assets.xcassets so far, didn’t try external file. I think you may be getting another copy generated into the asset catalog, make sure to have ASSETCATALOG_COMPILER_APPICON_NAME unset in the project and ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS=YES (although that shouldn’t be needed for non-catalog icon…).
@vslavik I switched to an icon in the asset catalog and made sure the settings are as you say. Still no luck. Can you create an empty sample project that demonstrates this ability for an app to show a different icons in the Finder in Tahoe and Sequoia?
@siracusa I just spent a few hours trying to reproduce in a new project, no luck. Or in a clean build. Must have been some caching, stale assets file or another form of PEBKAC :( There's apparently something special about app icons stored in Assets.car, it's not just the name, and that's what is throwing a wrench into things.
@siracusa There's an undocumented setting that helps: https://mas.to/@avidrissman/114989207727177911 — and I *think* it still works in b5, although it's more than a bit hacky: https://github.com/vslavik/TahoeIconsTests
Avi Drissman :vm: (@[email protected])

@[email protected] By default, yes, `actool` will ignore .xcassets compatibility bitmaps that match the name of your app icon, and will instead substitute its own. However, if you use the super duper secret undocumented `--enable-icon-stack-fallback-generation=disabled` flag, it won’t. See https://source.chromium.org/chromium/chromium/src/+/cb9d61c26abea51d2ab51412352581a34574c8f9:tools/mac/icons/compile_car.py;l=154-164 . This worked as of db4; I really hope they didn’t break it in db5.

mas.to
@vslavik This worked for me! Thank you!

@vslavik Update: an app built this way is rejected by App Store Connect with the following error:

ITMS-90236: Missing required icon - The asset catalog in the application bundle does not contain an icon of size 512pt x 512pt @2X.

@siracusa For MAS submission or just notarization?
@vslavik For MAS. But I found a fix. I changed the "actool" command line in the custom build phase to include the Assets.xcassets file path as the first argument (right before the existing .icon path argument) and then added the --include-all-app-icons option. That seemed to satisfy App Store Connect while still showing the pre-Tahoe icon on pre-Tahoe versions of macOS and the Tahoe icon on Tahoe.

@siracusa @vslavik what app icon shows up in AppStoreConnect when you upload your Tahoe-compatible builds? I'm seeing the old AppIcon under the Build and Included Assets in the Distribution tab.

Running the app on Sequoia and Tahoe show the correct old icon and Icon Composer icon respectively.

TestFlight shows the Icon Composer icon.

@atow I saw different icons at different times for the same app in App Store Connect, so I don’t know if it’s just buggy or a slow rollout of changes or what. Unpredictable.
@siracusa Thanks. I'll submit the app for review and cross my fingers that it will do the right thing.