SMSを送信する前に15秒の遅延タイマーを実行する次のコードがあります。
timer = [NSTimer scheduledTimerWithTimeInterval:15.0 target:self selector:@selector(sendMessage) userInfo:nil repeats:NO];
このコードは、waitScreenというメソッドに送られます。このメソッドは、アクティビティインジケーターと、15秒のタイマーが設定されていることをユーザーに通知するラベルが付いたViewControllerを表示します。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
が起動しないのですか?それを行うためのより良い方法はありますか?ありがとう!