Якщо вам потрібно виправити це, скористайтеся Siri або Mac за допомогою iMessage, щоб надіслати собі нове повідомлення. Дивіться https://support.apple.com/en-us/HT204897
Це триетапна процедура відновлення, і майбутнє оновлення програмного забезпечення виправить цю помилку.
- Попросіть Сірі "читати непрочитані повідомлення".
- Використовуйте Siri для відповіді на шкідливе повідомлення. Після відповіді ви зможете відкрити повідомлення ще раз.
- Якщо проблема продовжується, торкніться і утримуйте шкідливе повідомлення, торкніться кнопки Додатково та видаліть повідомлення з потоку.
Що стосується того, чому це відбувається, це специфічна помилка в тому, що Центр повідомлень видає вміст цього повідомлення в Unicode. Код виконує "небезпечну" операцію (щось подібне на 5, поділене на 0, а потім не перевіряє на несподівані результати), що спричиняє незроблену помилку.
Тоді оскільки Центр сповіщень не може рендерувати текст тексту, і в кінцевому рахунку виходить з ладу трамплін, який не мав коду, щоб виправити цю помилку витончено. Якщо немає конкретного обробника помилок, у більшості операцій є безпечна помилка "перезавантажити себе", щоб спробувати виправити помилку.
Unicode - це спосіб кодування символів, що використовується для обробки мов, які мають більше символів, ніж англійська. Програмісти можуть мати проблеми з цим, оскільки вони навчилися програмувати за допомогою тексту ASCII, і вони нехтують написанням свого програмного забезпечення за допомогою повної підтримки Unicode.
Одна хороша стаття з цього питання пояснює «якщо ви до сих пір програмування таким чином, ви не набагато краще , ніж лікар , який не вірить в бактеріях».
Ця інша стаття добре пояснює цю конкретну ситуацію.
Apple може або зробити більш жорсткі огляди коду, провести специфічні тестові одиниці або дозволити кінцевим користувачам нечітко перевірити свій код, як у цьому та подібних випадках .