У меня есть приложение, настроенное на отправку смс-сообщений в приложении на определенный номер. В viewDidLoad я проверяю, может ли устройство отправлять текстовые сообщения, используя [MFMessageComposeViewController canSendText], а затем скрываю элемент управления, если он не поддерживается устройством.
До сих пор это работало нормально, но сейчас я обновляю его для iOS 5 и обнаружил устройства, которые не поддерживают SMS, но поддерживают iMessage, получают сообщение YES от [MFMessageComposeViewController canSendText].
Поскольку получающий номер не является устройством iOS 5, все сообщения, отправленные в службе iMessage, не будут выполнены. Еще хуже то, что метод делегата messageComposeViewController: didFinishWithResult: сообщает MessageComposeResultSent, поэтому я даже не могу отобразить сообщение после события. Единственный раз, когда пользователь видит, что сообщение не было доставлено, - если он просматривает приложение обмена сообщениями, сообщения помечаются как «Не доставлено».
Итак, есть ли способ запросить у устройства информацию о том, может ли оно отправлять «настоящие» смс-сообщения или только что оно получило поддержку iMessage?