在Swift中,无法发送SMS,但MFMessageComposeViewController委托显示已发送
问题描述:
我正在使用MFMessageComposeViewController
从我的应用发送短信。在Swift中,无法发送SMS,但MFMessageComposeViewController委托显示已发送
didFinishWithResult
代理方法MFMessageComposeViewController
显示该消息已成功发送,但实际上由于余额不足而无法发送此SMS。所以MFMessageComposeViewController
不会显示正确的结果。
我如何知道Messages应用程序未能发送短信?有没有办法获得失败的状态?
答
无法知道邮件是发送还是失败邮件应用程序。
我们在messageComposeViewController:didFinishWithResult:
中得到了一个消息成功排队等待发送的结果。
+0
如果从Messages应用程序无法知道,那么我可以为我的应用程序做些什么。我需要发送短信的确切状态。 –
检测消息传递可用性的更改要通知当前设备的消息传递功能的更改,请将观察者添加到MFMessageComposeViewControllerTextMessageAvailabilityDidChange通知中。系统在消息更改状态发送通知给观察者时。有关更多信息:https://developer.apple.com/reference/messageui/mfmessagecomposeviewcontroller#//apple_ref/occ/instm/MFMessageComposeViewController/addAttachmentURL:withAlternateFilename: – Mannopson
感谢您的关注。实际上,当canSendText()类方法返回的值发生变化时发布此通知,并且仅当设备能够发送SMS时才能检查canSendText()。所以,如果短信应用无法发送短信,我们不会得到失败的状态。确切地说,我需要消息应用程序未能发送通过MFMessageComposeViewController发送的SMS的状态。 –
为什么?所有状态的东西都在那里,我的意思是Apple的文档。 MessageComposeResult必须负责为您提供这些状态。他们在发送,取消,失败!系统知道并立即告诉你它的状态。希望它可以帮助您 – Mannopson