Ios 在Swift中,未能发送SMS,但MFMessageComposeViewController委托显示已发送

Ios 在Swift中,未能发送SMS,但MFMessageComposeViewController委托显示已发送,ios,swift,mfmessagecomposeview,Ios,Swift,Mfmessagecomposeview,我正在使用MFMessageComposeViewController从我的应用程序发送短信 MFMessageComposeViewController的didFinishWithResult委托方法显示消息已成功发送,但实际上由于余额不足,此SMS未能发送。因此,MFMessageComposeViewController不会向我显示正确的结果 我如何知道短信应用程序无法发送短信?有没有办法获取失败状态?无法知道消息是从Messages应用程序发送的还是失败的 我们在messageCompo

我正在使用MFMessageComposeViewController从我的应用程序发送短信

MFMessageComposeViewController
didFinishWithResult
委托方法显示消息已成功发送,但实际上由于余额不足,此SMS未能发送。因此,
MFMessageComposeViewController
不会向我显示正确的结果


我如何知道短信应用程序无法发送短信?有没有办法获取失败状态?

无法知道消息是从Messages应用程序发送的还是失败的


我们在
messageComposeViewController:didFinishWithResult:
中得到一个结果,一旦消息成功排队等待发送。

如果无法从消息应用程序中知道,那么我可以为我的应用程序做些什么。我需要发送SMS的确切状态。若要检测到消息可用性的更改,以通知当前设备消息功能的更改,请在MFMessageComposeViewController ExtMessageAvailabilityDidChange通知中添加观察者。当消息状态更改时,系统会将该通知发送给观察者。更多信息::感谢您的关注。实际上,当canSendText()类方法返回的值发生更改并且canSendText()仅在设备能够发送SMS时被选中时,才会发布此通知。所以,若短信应用程序发送短信失败,我们不会得到失败的状态。确切地说,我需要消息应用程序无法发送通过MFMessageComposeViewController发送的短信时的状态。为什么?所有的状态信息都在那里,我指的是苹果的文档。MessageComposer结果必须负责为您提供这些状态。它们被。发送,。取消,。失败!系统知道并立即告诉您它的状态。希望它能帮助您编写SMS消息的另一种方法是创建并打开一个使用SMS方案的URL。通过创建并打开URL发送SMS不适合我,因为它不允许发送消息正文。