У меня есть этот код, который запускает 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
не запускается?Есть ли лучший способ сделать это?Спасибо!