Ich verwende MFMessageComposeViewController
, um SMS aus meiner App zu senden.In Swift, Senden von SMS fehlgeschlagen, aber MFMessageComposeViewController Delegate Show gesendet
Die Delegiertenmethode didFinishWithResult
von MFMessageComposeViewController
zeigt, dass die Nachricht erfolgreich gesendet wurde, diese SMS jedoch aufgrund eines unzureichenden Saldos nicht gesendet werden konnte. So zeigt mir MFMessageComposeViewController
nicht das richtige Ergebnis.
Woher weiß ich, dass die Nachrichten-App keine SMS senden konnte? Gibt es eine Möglichkeit, den Status fehlgeschlagen zu erhalten?
Erkennen von Änderungen an der Verfügbarkeit von Messaging Wenn Sie über Änderungen an den Messagingfunktionen des aktuellen Geräts benachrichtigt werden möchten, fügen Sie der MFMessageComposeViewControllerTextMessageAvailabilityDidChange-Benachrichtigung einen Beobachter hinzu. Das System übermittelt diese Benachrichtigung an Ihren Beobachter, wenn sich der Status der Nachrichtenübermittlung ändert. Für weitere Informationen: https://developer.apple.com/reference/messagui/mfmessagecomposeviewcontroller#//apple_ref/occ/instm/MFMessageComposeViewController/addAttachmentURL:withAlternateFilename: – Mannopson
Vielen Dank für Ihr Interesse. Diese Benachrichtigung wurde tatsächlich gesendet, wenn der von der Klassenmethode canSendText() zurückgegebene Wert geändert wurde, und canSendText() wird nur überprüft, wenn das Gerät SMS senden kann. Wenn die Nachrichten-App keine SMS senden konnte, erhalten wir diesen Status nicht. Genau, ich brauche den Status, wenn die Nachrichten-App diese SMS, die ich über MFMessageComposeViewController sende, nicht senden konnte. –
Warum? Alle Status-Sachen sind da, ich meine Apple's Dokumentation. Das MessageComposeResult muss dafür verantwortlich sein, diesen Status für Sie bereitzustellen. Sie sind .sent, .ancancelled, .failed! Das System weiß und teilt Ihnen sofort seinen Status mit. Hoffe, es hilft Ihnen – Mannopson