MFMessageComposeViewController не удается отправить

Я пытаюсь, чтобы пользователи отправляли текст подтверждения по телефону через 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 Dev. Если у кого-то есть творческий обходной путь, пожалуйста, пишите!

Кроме того, перезапуск телефона, кажется, решает проблему для большинства пользователей, однако у нас нет способа справиться с ошибкой отправки, потому что мы получаем результат MessageComposeResultSent.

1 ответ

Вы соответствуете делегату?

если вы создали экземпляр как свойство, доступ к нему через себя,

self.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:self.
MFController animated:YES completion:nil];
    }

Дайте мне знать, если это работает.

Другие вопросы по тегам