2013-06-25 7 views
1

Мое приложение вылетает при нажатии, чтобы создать почту на устройстве, если учетная запись электронной почты не добавлена. У любого есть идея, что я могу делать неправильно. Любая помощь будет очень признательна заблаговременно.Ошибка при сбое устройства MfMailComposeViewController

- (IBAction)sendMail:(id)sender { 
    MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init]; 
    NSArray *recipients = [NSArray arrayWithObject:@""]; 
    mail.mailComposeDelegate = self; 
    [mail setSubject:@""]; 
    [mail setToRecipients:recipients]; 
    [self presentViewController:mail animated:YES completion:NULL]; 
} 

ответ

0

Вы должны включить полное сообщение об ошибке, когда задаете вопрос об ошибке, которую вы получаете.

Но из вашего описания вы должны делать следующее:

- (IBAction)sendMail:(id)sender { 
    if ([MFMailComposeViewController canSendMail]) { 
     MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init]; 
     mail.mailComposeDelegate = self; 
     [self presentViewController:mail animated:YES completion:NULL]; 
    } else { 
     // let user know they can't send email 
    } 
} 

Также обратите внимание, что нет никаких причин, чтобы установить тему или получатель, если у вас нет каких-либо значений, чтобы установить.

+0

Большое спасибо за ответ. Еще раз спасибо. – AsL

+0

Если это не проблема, что я должен добавить, чтобы сообщить пользователю, что они не могут отправить электронное письмо. – AsL

+0

Общим способом было бы использовать 'UIAlertView'. – rmaddy