我有这段代码在发送 SMS 之前运行 15 秒延迟计时器:
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
没有启动?有更好的方法吗?谢谢!