2011-02-01 5 views
0

Я реализую MFMailComposeViewController в своем приложении. Когда я пытаюсь открыть почтовый композитор, используя следующий код, я получаю исключение, такое как «Завершение приложения из-за неотображенного исключения» NSInvalidArgumentException », причина:« Приложение попыталось представить nil modal view controller на цель ». Я не знаю, что я сделал неправильно. Можете ли вы, ребята, взглянуть на мой следующий код и предложить мне.Получение исключения при попытке PresentModalViewController

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil ]; 

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; 
controller.mailComposeDelegate =self ; 
controller.delegate=self; 
[email protected]"Title"; 
[controller setSubject:@"See my Notes"]; 
NSArray* toRecipients=nil; 

[controller setToRecipients:toRecipients]; 

NSString *emailBody = @""; 
emailBody = @"<html><head><title><style type=\"text/css\">a {color: red}</style>"; 
emailBody = [emailBody stringByAppendingString:@"</title></head><body style='background-color: transparent;color:black'> "]; 
emailBody = [emailBody stringByAppendingString:@"Hello all"]; 
emailBody = [emailBody stringByAppendingString:@"</body></html>"]; 
[controller setMessageBody:emailBody isHTML:YES]; 

[self presentModalViewController:controller animated:YES]; 

Спасибо заранее, -Sek.

ответ

1

Хм ... Я видел похожие проблемы/сбои при отправке электронной почты на устройство без настройки клиента электронной почты (но это не проблема в симуляторе).

Вы можете проверить для таких случаев, как это ...

// viewWillAppear

if (![MFMailComposeViewController canSendMail]) sendEmailButton.enabled = NO;

Смежные вопросы