Усечение основного сообщения при использовании символа «&» с MFMailComposeViewController и MFMessageComposeViewController

У меня есть приложение для iPhone, которое отправляет электронную почту приложения (с помощью MFMailComposeViewController) и SMS-сообщения (с помощью MFMessageComposeViewController).

Он отлично работает при отправке обоих типов сообщений, но я столкнулся со странной проблемой, когда последнее слово сообщения содержит символ «&». Все, включая и после «&», усекается, когда оно открывается во встроенных элементах управления электронной почты / смс iPhone (контроллеры, о которых я упоминал выше). Проиллюстрирую несколькими примерами.

  • Отправка сообщения с текстом «Hello world» работает нормально.
  • Отправка сообщения с текстом «Hello &world» укорачивает сообщение до «Hello».
  • Отправка сообщения с текстом «Hello worl&d» укорачивает сообщение до «Hello worl».
  • Отправка сообщения с текстом «Hello &world&world» урежет сообщение до «Hello &world».

Проблема усечения возникает только в теле сообщения, а не в теме (этот пункт явно не применим к отправке SMS-сообщения).

С выводом NSLog я проверил, что сообщение действительно не усекается до того, как оно будет отправлено контроллерам сообщений. Я также протестировал отображение сообщения с помощью UIAlertView, и там сообщение также не усекается.

Это ошибка в iOS или я просто пропустил что-то очевидное?

Я разрабатываю iOS SDK 4.3, и проблема повторяется на устройствах iPhone3GS и iPad2.


person Jonas    schedule 12.10.2011    source источник


Ответы (1)


Я подтвердил, что это ошибка в iOS SDK 4.3. После обновления до iOS 5 проблема исчезла, так что я предполагаю, что Apple исправила ошибку.

person Jonas    schedule 06.01.2012