ทำไม Unicode ถึงส่งข้อความผิดพลาดไปถึง iPhone OS


31

เมื่อเร็ว ๆ นี้ "ความผิดพลาด" ใหม่ได้ปรากฏขึ้นบนอินเทอร์เน็ตในช่วงสองสามสัปดาห์ที่ผ่านมาซึ่งหากมีการส่งผู้ใช้ iPhone:

  effective. 
      Power
           لُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ
 冗

ผ่าน iMessageจะทำให้ระบบปฏิบัติการโทรศัพท์ขัดข้องชั่วคราวและบังคับให้รีสตาร์ทโทรศัพท์ที่รับ

ทำไมจึงใช้งานได้


3
ที่จริงแล้วฉันเชื่อว่าจำเป็นต้องใช้ตัวอักษรภาษาอาหรับเท่านั้น ข้อความ "พลังที่มีประสิทธิภาพ" เป็นเพียงการเติมและสามารถเป็นอะไรก็ได้ แต่ควรยาวพอที่การแจ้งเตือนจะถูกตัดทอน (หรืออย่างน้อยก็พยายามทำเช่นนี้เป็นสิ่งที่ทำให้เกิดความผิดพลาด) ที่ตัวอักษรต่างประเทศ

คำตอบ:


36

หากคุณต้องการการแก้ไขสำหรับสิ่งนี้ให้ใช้ Siri หรือ Mac โดยใช้ iMessage เพื่อส่งข้อความใหม่ถึงตัวคุณเอง ดูhttps://support.apple.com/th-th/HT204897

เป็นขั้นตอนสามขั้นตอนในการกู้คืนและการอัปเดตซอฟต์แวร์ในอนาคตจะแก้ไขข้อบกพร่องนี้

  1. ขอให้ Siri "อ่านข้อความที่ยังไม่ได้อ่าน"
  2. ใช้ Siri เพื่อตอบกลับข้อความที่เป็นอันตราย หลังจากที่คุณตอบกลับคุณจะสามารถเปิดข้อความได้อีกครั้ง
  3. หากปัญหายังคงมีอยู่ให้แตะข้อความที่เป็นอันตรายค้างไว้แตะเพิ่มเติมและลบข้อความออกจากเธรด

สำหรับสาเหตุที่เกิดขึ้นมันเป็นข้อผิดพลาดเฉพาะในวิธีที่ศูนย์การแจ้งเตือนแสดงเนื้อหา Unicode ของข้อความนี้ รหัสทำการดำเนินการ "ไม่ปลอดภัย" (คล้ายกับ 5 หารด้วย 0 แล้วไม่ตรวจสอบผลลัพธ์ที่ไม่คาดคิด) ที่ทำให้เกิดข้อผิดพลาดที่ไม่สามารถจัดการได้

จากนั้นเนื่องจากศูนย์การแจ้งเตือนไม่สามารถแสดงบล็อกข้อความและในที่สุดก็เกิดปัญหากับ Springboard ซึ่งไม่มีรหัสที่จะจัดการกับความล้มเหลวนี้ได้อย่างงดงาม เมื่อไม่มีตัวจัดการข้อผิดพลาดเฉพาะการดำเนินงานส่วนใหญ่จะล้มเหลวอย่างปลอดภัย "รีบูตตัวเอง" เพื่อลองและแก้ไขข้อผิดพลาด

Unicodeเป็นวิธีการเข้ารหัสอักขระที่ใช้ในการจัดการภาษาที่มีจำนวนอักขระมากกว่าภาษาอังกฤษ โปรแกรมเมอร์สามารถมีปัญหากับมันเพราะพวกเขาเรียนรู้การเขียนโปรแกรมโดยใช้ข้อความ ASCII และพวกเขาละเลยที่จะเขียนซอฟต์แวร์ด้วยการสนับสนุน Unicode แบบเต็ม

หนึ่งบทความที่ดีเกี่ยวกับเรื่องนี้อธิบายว่า "ถ้าคุณยังคงเขียนโปรแกรมแบบนั้นอยู่คุณก็ไม่ได้ดีไปกว่าแพทย์ที่ไม่เชื่อเรื่องเชื้อโรค"

นี้บทความอื่น ๆ ที่อธิบายสถานการณ์ที่เฉพาะเจาะจงอย่างนี้

แอปเปิ้ลจะทำอย่างใดอย่างหนึ่งความคิดเห็นรหัสที่เข้มงวดมากขึ้นมีการทดสอบหน่วยที่เฉพาะเจาะจงหรือให้ผู้ใช้ปลายฝอยทดสอบรหัสของพวกเขาเช่นเดียวกับในนี้และที่คล้ายกัน กรณี


6

เป็นสิ่งที่ Apple ต้องแก้ไข

ปัญหาดูเหมือนจะมาจากวิธีที่โทรศัพท์พยายามที่จะแสดงข้อความในการแจ้งเตือน อักขระทำให้ระบบหยุดทำงานเพื่อพยายามแสดงสั้น ๆ ก่อนที่ระบบจะล้มเหลวจากนั้นตั้งค่าโทรศัพท์ใหม่อีกครั้งเพื่อพยายามแก้ไข

นี่คือการแก้ไขระยะสั้นที่คุณสามารถทำได้จนกว่า Apple จะแก้ไขปัญหาได้

  • ให้คนที่ส่งข้อความที่เป็นอันตรายส่งข้อความอื่นให้คุณยกเลิกการส่งข้อความเริ่มต้นอย่างมีประสิทธิภาพ

  • ส่งข้อความด้วยตัวคุณเองผ่าน Siri, แผ่นแบ่งปันหรือจาก Mac ของคุณ

  • ผู้อ่านอีกคนตั้งข้อสังเกตว่า“ การส่งภาพถ่ายไปยังผู้ติดต่อผ่านทางแอพ Photos สามารถอนุญาตให้พวกเขาเข้าถึงประวัติข้อความและลบการสนทนาได้”

แหล่งที่มา: http://www.redmondpie.com/how-to-fix-ios-text-messages-crash-bug/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.