일부 유니 코드 문자 메시지가 iPhone OS와 충돌하는 이유는 무엇입니까?


31

최근 몇 주 동안 인터넷을 통해 새로운 "글리치 (glitch)"가 나타났습니다.

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

iMessage를 통해 일시적으로 전화 OS가 충돌하고 수신 전화가 강제로 다시 시작됩니다.

왜 이것이 작동합니까?


3
실제로, 나는 아랍어 문자 (그리고 아마도 그 뒤의 문자) 만 필요하다고 생각합니다. "유효한 힘"텍스트는 필러 일 수 있으며 아무 것도 될 수 있지만 외국어 문자에서 알림이 잘 리거나 충돌이 발생하도록 시도 할 수있을 정도로 길어야합니다.

답변:


36

이 문제를 해결하려면 SMessage 또는 iMessage를 사용하는 Mac을 사용하여 새 메시지를 보내십시오. https://support.apple.com/en-us/HT204897을 참조 하십시오.

복구하는 3 단계 절차이며 향후 소프트웨어 업데이트가이 버그를 패치합니다.

  1. Siri에게 "읽지 않은 메시지를 읽도록 요청하십시오."
  2. Siri를 사용하여 악의적 인 메시지에 회신하십시오. 답장을 보내면 메시지를 다시 열 수 있습니다.
  3. 문제가 계속되면 악성 메시지를 길게 누르고 더보기를 누른 다음 메시지를 스레드에서 삭제하십시오.

왜 이런 일이 발생했는지에 관해서는 알림 센터 가이 메시지의 유니 코드 내용을 렌더링하는 방식에 특정 버그입니다. 이 코드는 "안전하지 않은"작업 (5로 0으로 나눈 다음 예기치 않은 결과를 확인하지 않음)을 수행하여 처리되지 않은 오류를 발생시킵니다.

그런 다음 알림 센터는 텍스트 블록을 렌더링 할 수 없으므로 궁극적 으로이 실패를 정상적으로 처리 할 코드가없는 Springboard와 충돌합니다. 특정 오류 처리기가없는 경우 대부분의 작업에는 오류 안전 "자체 재부팅"이있어 오류를 시도하고 해결합니다.

유니 코드 는 영어보다 문자 수가 많은 언어를 처리하는 데 사용되는 문자를 인코딩하는 방법입니다. 프로그래머는 ASCII 텍스트를 사용하여 프로그래밍하는 법을 배웠고 완전한 유니 코드 지원으로 소프트웨어 작성을 소홀히하기 때문에 문제가있을 수 있습니다.

이것에 대한 좋은 기사 는 "여전히 프로그래밍 방식을 사용하고 있다면 세균을 믿지 않는 의사보다 낫지 않다"고 설명합니다.

다른 기사에서는 이 특정 상황을 잘 설명합니다.

Apple은 더 엄격한 코드 검토를 수행하거나 특정 단위 테스트를 수행하거나 최종 사용자가 이와 유사한 경우 와 같이 코드를 퍼지 테스트하도록 할 수 있습니다 .


6

Apple이 해결해야 할 문제입니다.

전화기에서 알림에 메시지를 표시하려고 시도하는 방식에서 문제가 발생한 것으로 보입니다. 문자로 인해 시스템이 중단되어 충돌하기 전에 잠시 표시 한 다음 전화기를 다시 설정하여 문제를 해결하려고 시도합니다.

다음은 Apple에서 문제를 해결할 때까지 수행 할 수있는 단기 수정 사항입니다.

  • 악의적 인 메시지를 보낸 사람이 다른 메시지를 보내어 초기 스트랜드를 효과적으로 취소하도록합니다.

  • Siri, 공유 시트 또는 Mac에서 메시지를 보내십시오.

  • 또 다른 독자는 "사진 앱을 통해 연락처로 사진을 보내면 메시지 기록에 액세스하고 대화를 삭제할 수 있습니다"라고 말합니다.

출처 : http://www.redmondpie.com/how-to-fix-ios-text-messages-crash-bug/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.