Una delle novità più interessanti di iOS 18 è la possibilità di colorare uniformemente le icone delle app. Ma l’ultima beta ha rivelato un’altra modifica importante: sia le icone delle app di Apple che quelle di terze parti cambiano automaticamente quando si attiva la modalità scura, senza che gli sviluppatori debbano fare nulla. Grazie alle indagini di Gui Rambo, ora sappiamo come funziona questo meccanismo.
Gui Rambo ha spiegato su Mastodon come viene gestita questa trasformazione delle icone:
Per chi è curioso, ho esaminato l’implementazione della segmentazione delle icone in iOS 18 per vedere come vengono generate le icone scure. Non c’è alcun ML/AI coinvolto, è tutta matematica intelligente. IconServices estrae il primo piano e determina se deve essere colorato con il colore di sfondo o lasciato così com’è, e ci sono soglie configurabili per quando i risultati non sono accettabili, e in quel caso si ricorre semplicemente a scurire l’icona. Sembra che usi le istruzioni ARM Neon.
Gli utenti che utilizzano l’ultima beta di iOS 18 potrebbero aver notato che non solo le icone delle app di terze parti cambiano automaticamente in modalità scura, ma lo fanno in modi diversi. Alcune icone, come quella di YouTube, cambiano lo sfondo in nero e modificano anche il colore primario dell’icona. Questo è particolarmente interessante nei casi in cui lo sfondo dell’icona non è bianco. Ad esempio, l’icona di Facebook cambia lo sfondo in un blu più scuro e trasforma la ‘f’ da bianca a blu chiaro.
L’altro modo in cui le icone cambiano è semplicemente applicando una tinta scura, mantenendo però i colori intatti. Un buon esempio è Instagram, che non sembra rispettare la soglia di Apple per il cambiamento completo dei colori.
La regola generale sembra essere: se un’icona ha un approccio a colori abbastanza semplice, quei colori verranno probabilmente invertiti o cambiati in modalità scura. Ma se ha una combinazione di colori più complicata, come l’icona di Instagram, verrà applicata solo una tinta scura.
Grazie alle ricerche di Rambo, sappiamo che non c’è alcuna magia AI complicata utilizzata da Apple, ma semplicemente un controllo dei colori di sfondo e di primo piano rispetto a soglie matematiche semplici, che vengono poi adattate dinamicamente.