Nếu bạn cần sửa lỗi này, hãy sử dụng Siri hoặc Mac bằng iMessage để gửi cho mình một tin nhắn mới. Xem https://support.apple.com/en-us/HT204897
Đây là một quy trình gồm ba bước để khôi phục và bản cập nhật phần mềm trong tương lai sẽ vá lỗi này.
- Yêu cầu Siri "đọc tin nhắn chưa đọc."
- Sử dụng Siri để trả lời tin nhắn độc hại. Sau khi bạn trả lời, bạn sẽ có thể mở lại Tin nhắn.
- Nếu sự cố vẫn tiếp diễn, chạm và giữ tin nhắn độc hại, nhấn Khác và xóa tin nhắn khỏi chuỗi.
Về lý do tại sao nó xảy ra, đó là một lỗi cụ thể trong cách Trung tâm thông báo hiển thị nội dung Unicode của thông báo này. Mã này thực hiện một hoạt động "không an toàn" (gần giống với 5 chia cho 0 và sau đó không kiểm tra kết quả không mong muốn) gây ra lỗi chưa được xử lý.
Sau đó, vì Trung tâm thông báo không thể kết xuất khối văn bản và cuối cùng làm hỏng Springboard không có mã để xử lý lỗi này một cách duyên dáng. Khi không có trình xử lý lỗi cụ thể, hầu hết các hoạt động đều không an toàn "tự khởi động lại" để thử và khắc phục lỗi.
Unicode là một cách mã hóa các ký tự được sử dụng để xử lý các ngôn ngữ có số lượng ký tự lớn hơn tiếng Anh. Các lập trình viên có thể gặp vấn đề với nó vì họ đã học lập trình bằng văn bản ASCII và họ bỏ qua việc viết phần mềm của họ với sự hỗ trợ Unicode đầy đủ.
Một bài viết hay về điều này giải thích "nếu bạn vẫn lập trình theo cách đó, bạn sẽ không tốt hơn nhiều so với một bác sĩ y khoa không tin vào vi trùng".
Bài viết này giải thích tốt tình huống cụ thể này.
Apple có thể thực hiện đánh giá mã chặt chẽ hơn, kiểm tra đơn vị cụ thể hoặc để người dùng cuối kiểm tra mã của họ như trong trường hợp này và các trường hợp tương tự .