Как запустить MFMessageComposeViewController - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть этот код, который запускает 15-секундный таймер задержки перед отправкой SMS:

timer = [NSTimer scheduledTimerWithTimeInterval:15.0 target:self selector:@selector(sendMessage) userInfo:nil repeats:NO];

Этот код переходит к методу waitScreen, который отображает контроллер представления с индикатором активности и меткой, сообщающейпользователь, что 15 секундный таймер на месте.После 15-секундного таймера это представление отклоняется (см. Код ниже), а затем я хочу запустить представление MFMessageComposeViewController, когда тело пользователя и получатель уже на месте.Из-за невозможности iOS автоматически отправлять SMS, пользователь должен нажать «Отправить», чтобы отправить SMS-сообщение.

Это мой метод sendMessage:

- (void)sendMessage {
[self dismissModalViewControllerAnimated:YES];

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
if([MFMessageComposeViewController canSendText]){
    controller.body = messageField.text;
    controller.recipients = [NSArray arrayWithObjects:contactNumber.text,nil];
    controller.messageComposeDelegate = self;

    [self presentModalViewController:controller animated:YES];
}

}

messageField - это UITextField, когда пользователь вводит SMS-сообщение, а contactNumber - это номер контакта из адресной книги.

Мой вопрос: почему мой MFMessageComposeViewController не запускается?Есть ли лучший способ сделать это?Спасибо!

1 Ответ

0 голосов
/ 02 ноября 2011

Работает ли это, если вы измените свою первую строку на

[self dismissModalViewControllerAnimated:NO];
...