Monday, June 23, 2025

Icon Composer Notes

John Brayton:

I would not have figured out how to use this tool without help, so I wanted to pass along the correct way to use it.

[…]

On macOS, one sets an alternate icon by drawing it in code using the NSDockTile API. I believe Mac apps have no access to the system-wide Icon & widget style setting or the current tint color.

You can create an icon using NSImage(named: String) and display it in the app with an NSImageView. If the icon has any variation between the light mode version, dark mode version, or mono version, the image drawn shows the mono version.

When I add multiple .icon files to a Mac app, Xcode seems to only include the app’s default icon. It seems to ignore the others. The icon is included as a .icns file that appears to be generated from the .icon file. It is probably possible to generate those .icns files some other way and include those as resources.

See also: Brad Ellis (via Mastodon).

Previously:

Update (2025-06-24): Keith Harrison:

You no longer need to add default, dark, and tinted variants of the app icon to the asset catalog in the app bundle. What you need to do is drag the Icon Composer .icon file into the project navigator sidebar of the Xcode project[…]

[…]

One final step, in your app target settings, make sure the App Icon Set Name matches the name of the Icon Composer icon file name (without the .icon extension)[…]

[…]

One thing that is missing is support for alternate app icons.

Update (2025-06-26): Sam Rowlands:

What am I doing wrong? Tahoe icons.

  1. Created Icon in Icon Composer.
  2. Added .icon file to Xcode project (not assets section).
  3. Renamed it to AppIcon.icon.

But it won’t show either when running or when archiving.

Update (2025-07-16): Megabits:

Different software may structure SVG differently, similar to how Dreamweaver used to include unnecessary code when creating web pages. This can affect how Icon Composer interprets the files. I recommend checking all exported SVG images with a text editor.

[…]

After handling light and dark modes, you’ll need to address monochrome mode. You may notice that icons in monochrome mode appear grayish. Initially, I thought this was normal for monochrome mode, but upon testing on an actual device, I found it to be much darker than other apps.

This issue occurs because Icon Composer calculates monochrome brightness based on the brightness of colors in normal mode.

[…]

Icon Composer has many limitations. The first is the layer limit.

Update (2025-07-28): John Brayton:

Something to be aware of with Icon Composer: Tinted variants of icons generated from Icon Composer look as expected on iOS 26, but look terrible on iOS 18.

Louie Mantia:

For every Liquid Glass app icon I make, I wish I had way more control over the specular highlights. Thickness, inset from edge, brightness. I want to play with the variables that are possible, but they don’t extend to us. I want to designate a completely transparent layer as a specular highlight mask.

Instead, I’m just baking in my own lighting, knowing full well that it won’t be native. But it looks better. The tools they provide are neat in theory, but very limited in practice.

Comments RSS · Twitter · Mastodon

Leave a Comment