La spiegazione più semplice potrebbe essere una delle due cose:
-
Risorse limitate e semplici - tempo finito per il QA e test. Questo è sempre qualcosa da considerare - per ogni dispositivo che esegue il codice, è necessario fornire dispositivi ai codificatori, test durante lo sviluppo, test durante il controllo qualità, supporto per il periodo di 2-3 anni che il sistema operativo sarà sotto il supporto mainstream, ecc. Fondamentalmente, le caratteristiche tecnicamente fattibili giacciono sparse per tutto il tempo nella stanza della sala di taglio, a causa del fatto che le risorse non sono infinite, esistono linee temporali e esistono budget.
-
Il framework che Apple utilizza per implementare questo semplicemente non supporta o non è stato scritto per l'hardware precedente. Sì, puoi scrivere codice nell'1 + 1 = 2 di base per qualsiasi chipset o framework. La mia supposizione istruita è che il turno notturno è scritto in metallo o in un'API di livello inferiore. La documentazione di Apple spiega l'hardware necessario per supportare metal e OpenGLES versione 3.0:
Se guardi tutti i dispositivi OpenGL2.0 e non-metal che ora non supportano night-shift potrebbe essere un motivo tecnico interessante per non spedire questa funzionalità senza le funzionalità metal / 3.0 dell'API grafica e il supporto hardware per eseguire il backup di ciò che descrive il codice.
La mia impressione è solidamente nel campo di limitazione dell'hardware + API, ma vale la pena affermare che c'è un grosso costo per ogni cambiamento e ogni decisione nell'ecosistema iOS a questo punto con la maggior parte dei 1 miliardo di utenti attivi di prodotti Apple iOS utenti.