2017-02-02 11 views
0

私はMFMessageComposeViewControllerを使用してSMSをアプリケーションから送信しています。Swiftで、SMSは送信できませんでしたが、MFMessageComposeViewControllerデリゲートショーが送信されました

代理人方法MFMessageComposeViewControllerは、メッセージが正常に送信されたが、実際にこの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の送信に失敗した場合、その失敗したステータスは取得されません。正確には、メッセージアプリがMFMessageComposeViewControllerを介して送信しているSMSを送信できなかったときのステータスが必要です。 –

+0

なぜですか?すべての状態のものはそこにある、私はAppleのドキュメントを意味する。 MessageComposeResultは、これらのステータスを提供する責任を負う必要があります。彼らは罪を犯し、嫌がらせを受け、罪を犯した!システムはそれを知っていてすぐにあなたの状態を知らせます。あなたに役立つことを願っています – Mannopson

答えて

1

メッセージが「メッセージから送信」または「メッセージから失敗」のいずれであるかを知ることはできません。

メッセージが正常に送信待ちになったら、messageComposeViewController:didFinishWithResult:という結果が得られます。

+0

メッセージアプリから知ることができない場合は、アプリのために何ができるのですか? SMSを送信する正確なステータスが必要です。 –

関連する問題