Почему голосовые сообщения в iMessage исчезают
АМАндрей Михайловведущий специалист по технике Apple
Если вы когда-нибудь отправляли голосовое сообщение через iMessage и сталкивались с его исчезновением, вероятно, вас озадачил странный и довольно неприятный баг. Вы записали обычное голосовое сообщение другу, отправили его, а в ответ видите только мигающие три точки, будто собеседник печатает, - но сообщение так и не появляется и вскоре исчезает совсем, как будто его никогда не существовало. В чём причина этого странного поведения?
Причина проблемы: амперсанд «&»
Символ амперсанда «&», который часто встречается в названиях компаний и брендов - Dave & Buster's, H&M, Tiffany & Co., Atributika & Club, - вызывает сбой в системе iMessage. Проблема не в самом голосовом сообщении: оно записывается и даже отправляется на сервер. Сбой начинается при попытке системы создать текстовую транскрипцию для голосового сообщения.
Как работает транскрибация сообщений
Когда вы отправляете голосовое сообщение, iOS автоматически создаёт текстовую расшифровку - она помогает людям, использующим функции доступности, или тем, кто предпочитает читать сообщения. Но когда в транскрипции появляется символ «&», система сталкивается с проблемой: iOS пытается отобразить его как часть XHTML - специального формата для обработки сообщений в iMessage. Форматирование выполняется неправильно, что приводит к синтаксической ошибке.
Что делает BlastDoor
Эта ошибка активирует встроенный механизм безопасности BlastDoor, который защищает от вредоносных сообщений. Обнаружив ошибку, система автоматически блокирует сообщение, чтобы предотвратить возможные угрозы. В итоге голосовое сообщение, несмотря на то что оно правильно записано и отправлено на сервер, так и не доходит до получателя.
Как избежать проблемы
Пока Apple не выпустила исправление, решение простое - избегать использования амперсанда «&» в текстах голосовых сообщений:
- Не используйте символ «&» в голосовых сообщениях, в том числе при упоминании брендов вроде H&M, Tiffany & Co. Или Atributika & Club;
- Если нужно отправить информацию с амперсандом, напишите её текстом, а не голосовым сообщением;
- Вместо «&» используйте слово «и», чтобы не столкнуться с проблемой.
Техническое объяснение
Эту ошибку в iOS раскрыл разработчик Гильерме Рамбо, который технически разобрал ситуацию. По его словам, сбой возникает из-за неправильного кодирования XHTML, что приводит к ошибке в системе транскрибации голосовых сообщений. Проблема касается не только обычных пользователей, но и сервисов, активно использующих транскрипцию для обработки голосовых данных, а также приложений для людей с нарушениями слуха, которые полагаются на автоматические расшифровки сообщений.
На момент публикации Apple официально не прокомментировала ситуацию и не выпустила исправление. Это может означать, что компания пока не признала проблему критической или работает над исправлением в рамках более крупного обновления системы.
Если коротко
- Голосовые сообщения в iMessage с амперсандом «&» в транскрипции блокируются системой защиты BlastDoor;
- Проблема в неправильном кодировании XHTML при создании текстовой расшифровки;
- Само сообщение записывается и отправляется, но не доходит до получателя;
- Пока нет исправления - замените «&» на «и» или отправляйте такую информацию текстом.
Эта ошибка в iMessage может показаться незначительной, но она подчёркивает важность мелких деталей в системе безопасности и функциональности смартфонов. Apple, скорее всего, выпустит обновление, которое устранит проблему, но пока это не случилось, стоит избегать амперсанда в голосовых сообщениях.




