Se hai bisogno di una correzione per questo, usa Siri o un Mac usando iMessage per mandarti un nuovo messaggio. Vedi link
È una procedura in tre fasi per il recupero e un futuro aggiornamento del software correggerà questo errore.
- Chiedi a Siri di "leggere i messaggi non letti".
- Usa Siri per rispondere al messaggio dannoso. Dopo aver risposto, potrai nuovamente aprire Messaggi.
- Se il problema persiste, tocca e tieni premuto il messaggio dannoso, tocca Altro e elimina il messaggio dalla discussione.
Riguardo al motivo per cui accade, è un bug specifico nel modo in cui Notification Center esegue il rendering del contenuto Unicode di questo messaggio. Il codice esegue un'operazione "non sicura" (qualcosa simile a 5 divisa per 0 e quindi non verifica risultati imprevisti) che causa un errore non gestito.
Quindi, poiché il Centro notifiche non è in grado di eseguire il rendering del blocco di testo e in definitiva arresta in modo anomalo il Springboard che non ha il codice per gestire questo errore con garbo.
Quando non è presente alcun gestore di errori specifico, la maggior parte delle operazioni ha un fail safe "riavvia te stesso" per provare e correggere l'errore.
Unicode è un modo di codificare i caratteri utilizzati per gestire le lingue con un numero di caratteri maggiore rispetto all'inglese. I programmatori possono avere problemi perché hanno imparato a programmare usando il testo ASCII e trascurano di scrivere il loro software con il completo supporto Unicode.
Un buon articolo su questo spiega "se stai ancora programmando in quel modo, non sei molto meglio di un medico che non crede ai germi ".
Questo altro articolo spiega bene questa situazione specifica.
Apple potrebbe effettuare revisioni più restrittive del codice, avere test unitari specifici o consentire agli utenti finali testare il loro codice come in questo e simile casi .