I was trying to send SMS from within my app. I wrote this piece of code but it seems not to work.
No crash, no error log, simply nothing happen (of course I tried to log canSendText
and the result is 1
).
- (void)viewDidLoad
{
[super viewDidLoad];
messageComposer = [[MFMessageComposeViewController alloc] init];
if ([MFMessageComposeViewController canSendText]) {
[messageComposer setBody:@"Messaggio generato da SMSTest"];
[messageComposer setRecipients:[NSArray arrayWithObject:@"3333333333"]];
[messageComposer setDelegate:self];
[self presentModalViewController:messageComposer animated:YES];
}
}
Can anyone explain me what I'm doing wrong?
The problem is that presentModalViewController
does not work in viewDidLoad
yet as the view is loaded but might not even be on screen yet. If you put your code in viewWillAppear:animated
, this should work.
Edit: As per Saphrosit's comment: viewDidAppear:
is an even better place to do this.