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