Anyway to support native app icon with projucer?
A quick web search says this is done by the OS
”with the release of macOS 26 (Tahoe), all app icons are now a rounded rectangle “squircle” shape, a design change that was first introduced with macOS Big Sur in 2020. In macOS 26, Apple has enforced this shape across all icons, including for older apps, to unify its visual identity across its operating system”
It would be nice to be able to provide different icon pngs for the various themes - light, dark, clear, etc.
Or let us use Icon Composer and get the output into our projects, so a dedicated designer can create nice looking icons and we can easily integrate them with cmake/projucer.
I think the export format from Icon Composer is still PNG so should still work with JUCE apps. Not sure how the dynamic light/dark/mono themes work though - would definitely be nice for JUCE to support that.
but you are supposed to use the .icon icon composer file in xcode not the exported png.
I expect we’ll add a config option to supply an icon composer file that will only be used on macOS 26 and above. On older platforms we’ll continue using the normal asset-catalog approach.
That would be great
Thanks !
bump ![]()
We’re working on it
We’re still working on it…
Apologies for the delay - we’ve been attempting to find ways to have a newer style icon showing on the latest macOS, and an old style icon showing on older versions of macOS. It seemed like this might be possible using some undocumented trickery in Xcode, but I don’t think this is ultimately sustainable.
We’ll have something ready soon.
bumpity bump
Added a couple of hours ago!
We hadn’t gotten around to updating this thread yet.
If I get this right, we cannot have this for xcode < 26 ?
I was relunctant to update xcode because it usually mess things up.14.3 here ![]()
That’s right, you need Xcode 26 (or later, presumably) in order to use Icon Composer assets.
We are using IconComposer to make our icons compatible with Tahoe, but we just export the assets as PNGs. So far so good and we are still on J7.0.12

