iPhoneのコードからSMSを送信する方法がないとわかっているからです。iPhoneのMFMessageComposeViewControllerを使用してSMSの実際の身体と受信者を検出するにはどうすればよいですか?
代わりに、私はMFMessageComposeViewControllerを使用してSMSアプリケーションを表示しています。 私は前に、本体と受信者を設定します。私はメッセージと受信者がそのまま滞在し、私はコードから設定と同じままであることを確認するに
MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
controller.body = @"message";
controller.recipients = [NSArray arrayWithObject:@"phonenumber"];
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
。 ただし、SMSを送信する前に、受信者やメッセージを変更することは可能です。
私はしかし、controller.bodyとcontroller.recipientsは、SMSアプリケーションで行った変更を表示しdoesntの。デリゲートメソッド
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
NSLog(@"Message: %@", controller.body);
NSLog(@"Recipients:");
for (NSString *recipient in controller.recipients) {
NSLog(recipient);
}
switch (result) {
case MessageComposeResultCancelled:
NSLog(@"Result: canceled");
break;
case MessageComposeResultSent:
NSLog(@"Result: sent");
// Check that the correct message has been sent
if([controller.body isEqualToString:correctMessage]) {
BOOL correctRecipient = NO;
for (NSString *recipient in controller.recipients) {
if([recipient isEqualToString:correctRecipient]) {
correctRecipient = YES;
}
}
if(correctRecipient) {
NSLog(@"Correct message sent to correct recipient!");
} else {
NSLog(@"Message or recipient was wrong");
}
}
break;
case MessageComposeResultFailed:
NSLog(@"Result: failed");
break;
default:
NSLog(@"Result: not sent");
break;
}
[self dismissModalViewControllerAnimated:YES];
}
ボディと受信者をチェックしてみましたドキュメントでは、次のようなことを確認してこれを確認しています。
本文:メッセージの最初の内容。
受信者:メッセージの最初の受信者を含む文字列の配列。
使用されたACTUALメッセージと受信者を確認する方法はありますか?
ありがとうございます!
もちろん、本体/受信者を変更不可能にすることが可能であれば問題ありません。しかし、私はこれが可能であるのか疑問ですか? – wanner