Я пытаюсь, чтобы пользователи отправляли текст подтверждения телефона через SMS. В первый раз, когда они пытаются отправить сообщение на номер, похоже, что сообщение проходит, и мы получаем обратный вызов с MessageComposeResultSent. Однако на самом деле ни одно сообщение не ставится в очередь и не отправляется. Взглянув в iMessage, в верхней части списка есть запись номера телефона, но нет сообщения, просто пустой экран. Если отправить SMS еще раз на тот же номер, оно пройдет. Реализация кажется довольно простой, поэтому не уверен, что это ошибка или я делаю что-то не так.
Вот наш код:
MFController = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
self.MFController.body = [NSString stringWithFormat:@"Please send this message to verify your phone number.\n\n(%@)",token];
self.MFController.recipients = [NSArray arrayWithObject:@"+PHONENUMBER"];
self.MFController.messageComposeDelegate = self;
[self presentViewController:MFController animated:YES completion:nil];
}
Я попытался объявить MFController непосредственно в методе как сильное свойство ivar. Я также пытался инициализировать MFController в ViewDidLoad безрезультатно.
Обновление: я здесь не один. Гораздо больше свежих сообщений на форуме разработчиков Apple. Если у кого есть творческий подход, пишите!
Кроме того, перезагрузка телефона, по-видимому, решает проблему для большинства пользователей, однако у нас нет способа справиться с ошибкой отправки, поскольку мы получаем результат MessageComposeResultSent.