Jeśli potrzebujesz poprawki, użyj Siri lub komputera Mac za pomocą iMessage, aby wysłać sobie nową wiadomość. Zobacz https://support.apple.com/en-us/HT204897
Jest to trzyetapowa procedura odzyskiwania, a przyszła aktualizacja oprogramowania usunie ten błąd.
- Poproś Siri o „odczytanie nieprzeczytanych wiadomości”.
- Użyj Siri, aby odpowiedzieć na złośliwą wiadomość. Po udzieleniu odpowiedzi będziesz mógł ponownie otworzyć Wiadomości.
- Jeśli problem będzie się powtarzał, dotknij i przytrzymaj złośliwą wiadomość, dotknij Więcej i usuń wiadomość z wątku.
Dlaczego tak się dzieje, jest to szczególny błąd w sposobie, w jaki Centrum powiadomień renderuje treść tej wiadomości w formacie Unicode. Kod wykonuje „niebezpieczną” operację (coś podobnego do 5 podzieloną przez 0, a następnie nie sprawdza nieoczekiwanych wyników), która powoduje nieobsługiwany błąd.
Następnie, ponieważ Centrum powiadomień nie może wyrenderować bloku tekstu i ostatecznie powoduje awarię Springboard, który nie miał kodu, który z wdzięcznością poradziłby sobie z tym niepowodzeniem. Gdy nie jest dostępna żadna konkretna procedura obsługi błędów, większość operacji ma bezpieczny „restart”, aby spróbować naprawić błąd.
Unicode to sposób kodowania znaków używanych w językach, które mają większą liczbę znaków niż angielski. Programiści mogą mieć z tym problemy, ponieważ nauczyli się programować przy użyciu tekstu ASCII i zaniedbują pisanie swojego oprogramowania z pełną obsługą Unicode.
Jeden dobry artykuł na ten temat wyjaśnia „jeśli nadal programujesz w ten sposób, nie jesteś dużo lepszy od lekarza, który nie wierzy w zarazki”.
Ten drugi artykuł dobrze wyjaśnia tę konkretną sytuację.
Apple może albo dokonać dokładniejszych recenzji kodu, przeprowadzić specjalne testy jednostkowe, albo pozwolić użytkownikom końcowym na testowanie kodu w podobny sposób w tym i podobnych przypadkach .