0

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];
}

}

これmessageFieldUITextField、ユーザーがSMSメッセージを入力する場所であり、contactNumberはアドレスブックの連絡先の番号です。

私の質問は、なぜ私MFMessageComposeViewControllerが起動しないのですか?それを行うためのより良い方法はありますか?ありがとう!

4

1 に答える 1

0

最初の行を次のように変更すると機能しますか

[self dismissModalViewControllerAnimated:NO];
于 2011-11-02T10:30:16.767 に答える