Sto sviluppando un'applicazione, l'esigenza è di aprire il compositore di posta elettronica con un clic di UIAlertView.ios: Applicazione tentata di presentare un controller di visualizzazione modale nil sul target
il messaggio che si trova nel corpo del messaggio dell'e-mail viene copiato da UITextView. Sto usando il codice seguente Questo esempio vi:
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 0)
{
// opening message composer
}
else
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Test mail"];
[picker setMessageBody:messageBody.text isHTML:YES];
[self presentViewController:picker animated:YES completion:NULL];
}
}
// mail compose delegate
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[self dismissViewControllerAnimated:YES completion:NULL];
}
ma il problema è che sto ottenendo l'errore dicendo Applicazione cercato di presentare un controller di vista modale nullo sul bersaglio. come possiamo aprire il compositore di posta predefinito in iOS 7?
Il meccanismo di protezione oscilla! – Naeem
ma perché il messaggio di testo (MFMessageComposeViewController) non ha bisogno di questo controllo? Ho un dispositivo di test che non ha la scheda SIM, tecnicamente non dovrebbe essere in grado di inviare del testo, ma funziona bene (senza eccezione lanciata) senza il controllo ... perché? Grazie. – RainCast
Quindi, non testare più l'interfaccia utente della posta inviata sul simulatore ...? –