iOS 18 lets each app supply a light mode, dark mode, and tinted version of its icon. iOS also allows an app to let a user choose an alternate icon – letting customers personalize how an app appears on their home screen. While both capabilities are great, this combination of features does not appear to mix well.

If an app has several icon options that vary only by color combination, it seems natural to let the user choose one option for light mode and another for dark mode. But there is no way to do this without providing n2 app icon entries in the asset catalog. It also seems like the tinted icon should be the same for each option when they only vary by color combination. But the only way for several icon options to use the same tinted variant is to copy the same PNG into each app icon asset catalog entry.

My ideal solution to this would be a new setAlternateIconName method on UIApplication that accepted 3 different parameters: a light mode icon name, a dark mode icon name, and a tinted icon name. Alternatively a setAlternateIconNameForDarkMode method and a setAlternateIconNameForTinted method could work. I filed FB13999626 requesting this.

For context, this is Unread’s screen letting the user choose an alternate icon. There are 32 different options that vary only by color scheme. I ideally want to let the user choose one for light mode and one for dark mode, and have the tinted variation be the same regardless.

Unread screen letting user choose alternate icon