2017-02-02 1 views
0

Я использую MFMessageComposeViewController для отправки СМС из своего приложения.В Swift не удалось отправить SMS, но MFMessageComposeViewController Delegate Показать отправлено

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

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

+0

Обнаружение изменений в доступности сообщений Чтобы получать уведомления об изменениях возможностей обмена сообщениями текущего устройства, добавьте наблюдателя в уведомление MFMessageComposeViewControllerTextMessageAvailabilityDidChange. Система передает это уведомление вашему наблюдателю, когда изменяется состояние обмена сообщениями. Для получения дополнительной информации: https://developer.apple.com/reference/messageui/mfmessagecomposeviewcontroller#//apple_ref/occ/instm/MFMessageComposeViewController/addAttachmentURL:withAlternateFilename: – Mannopson

+0

Спасибо за вашу заботу. Фактически это уведомление отправляется, когда значение, возвращаемое методом класса canSendText(), изменилось, и canSendText() проверяет, может ли устройство отправлять SMS. Таким образом, если приложение «Сообщения» не удалось отправить SMS, мы не получим этот статус. Точно, мне нужен статус, когда приложение «Сообщения» не удалось отправить это SMS, которое я отправляю через MFMessageComposeViewController. –

+0

Почему? Вся информация о статусе есть, я имею в виду документацию Apple. MessageComposeResult должен нести ответственность за предоставление этого статуса для вас. Они такие, как., .cancelled, .failed! Система знает и сразу сообщает вам о ее статусе. Надеюсь, это поможет вам – Mannopson

ответ

1

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

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

+0

Если из приложения «Сообщения» невозможно узнать, что я могу сделать для своего приложения. Мне нужен точный статус отправки SMS. –

Смежные вопросы