В Swift не удалось отправить SMS, но MFMessageComposeViewController Delegate Show отправлено

Я использую MFMessageComposeViewController для отправки SMS из своего приложения.

Метод didFinishWithResult делегата MFMessageComposeViewController показывает, что сообщение было отправлено успешно, но на самом деле это SMS не удалось отправить из-за недостаточного баланса. Итак, MFMessageComposeViewController не показывает мне правильный результат.

Как узнать, что приложению «Сообщения» не удалось отправить SMS? Есть ли способ получить статус «сбой»?


person Shariif Islam    schedule 02.02.2017    source источник
comment
Обнаружение изменений доступности обмена сообщениями Чтобы получать уведомления об изменениях возможностей обмена сообщениями текущего устройства, добавьте наблюдатель в уведомление MFMessageComposeViewControllerTextMessageAvailabilityDidChange. Система доставляет это уведомление вашему наблюдателю при изменении статуса обмена сообщениями. Для получения дополнительной информации: developer.apple. com/reference/messageui/:   -  person Mannopson    schedule 02.02.2017
comment
Спасибо за вашу заботу. На самом деле, это уведомление публикуется, когда значение, возвращаемое методом класса canSendText(), изменилось, и canSendText() проверяется только в том случае, если устройство способно отправлять SMS. Итак, если приложению «Сообщения» не удалось отправить SMS, мы не получим этот статус «сбой». Точно, мне нужен статус, когда приложению «Сообщения» не удалось отправить то SMS, которое я отправляю через MFMessageComposeViewController.   -  person Shariif Islam    schedule 02.02.2017
comment
Почему? Там есть все статусные вещи, я имею в виду документацию Apple. MessageComposeResult должен нести ответственность за предоставление вам этого статуса. Они .отправлены, .отменены, .не прошли! Система знает и сразу сообщает вам о своем статусе. Надеюсь, это поможет вам   -  person Mannopson    schedule 02.02.2017
comment
Альтернативный способ составления SMS-сообщений — создать и открыть URL-адрес, использующий схему sms.   -  person Mannopson    schedule 02.02.2017
comment
Отправка SMS с помощью создания и открытия URL-адреса мне не подходит, потому что это не позволяет отправлять тело сообщения.   -  person Shariif Islam    schedule 02.02.2017
comment
К сожалению, ваши слова верны! Удачи. Но твоя проблема такая странная для меня.   -  person Mannopson    schedule 02.02.2017
comment
Может быть, но дело в том, что MessageComposeResult показывает отправленное, которое на самом деле является неудачным SMS. Спасибо   -  person Shariif Islam    schedule 02.02.2017
comment
Вы решили свои проблемы?   -  person Mannopson    schedule 07.02.2017
comment
Еще нет. Как сказал @OMK, невозможно узнать, не удалось ли отправить SMS приложением «Сообщения». Apple ограничивает доступ к приложению «Сообщения», получает номер телефона. Итак, я должен изменить свой путь.   -  person Shariif Islam    schedule 08.02.2017


Ответы (1)


Невозможно узнать, отправлено ли сообщение или не удалось из приложения «Сообщения».

Мы получаем результат в messageComposeViewController:didFinishWithResult: после того, как сообщение было успешно поставлено в очередь для отправки.

person OnkarK    schedule 02.02.2017
comment
Если невозможно узнать из приложения «Сообщения», то что я могу сделать для своего приложения. Мне нужен точный статус отправки СМС. - person Shariif Islam; 02.02.2017