Wenn ich Xcode 6 ausführen und den iOS 8-Simulator verwenden, versuche ich einen MFMailComposeViewController zu laden, es wird nicht angezeigt. Stattdessen bekomme ich diesen Fehler ...MFMailComposeViewController wird nicht in iOS 8 angezeigt
„Warnung: Versuch MFMailComposeViewController vorstellen: 0x7c30c400 auf Viewcontroller: 0x7baf6000, die bereits (null) präsentiert“
Der exakt gleiche Code für fast ein Jahr wurde nun arbeiten, unverändert. Nur um sicher zu sein, ich lief meine App in Xcode 6 mit dem iOS 7.1-Simulator und es funktionierte wie zuvor, perfekt.
Kann jemand eine MFMailComposeViewController Ansicht in iOS 8 anzeigen? Das scheint eine einfache Aufgabe zu sein und ich bin sicher, es ist eine einfache Lösung.
PS. Posting ist nicht erforderlich, da es Standard-Code ist aber hier ist es trotzdem ...
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
//Current Date
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSDate *date = [NSDate date];
//Ensure UTC DATE
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[formatter setDateFormat:@"MM/dd/yyyy 'at' HH:mm:ss UTC"];
NSString *myString = [formatter stringFromDate:date];
NSString *emailBody = [NSString stringWithFormat:@"Feedback time at %@.<br><br>Name:", myString];
[picker setMessageBody:emailBody isHTML:YES];
NSString *subject, *emailAddress;
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[formatter setDateFormat:@"MM/dd/yyyy"];
subject = [NSString stringWithFormat:@"Feedback"];
//Set the Subject
[picker setSubject:subject];
emailAddress = @"[email protected]";
//Set the Receivers
NSArray *myReceivers = [[NSArray alloc] initWithObjects:emailAddress, nil];
[picker setToRecipients:myReceivers];
//It saves the file name as the same as Subject here!
picker.navigationBar.barStyle = UIBarStyleDefault;//UIBarStyleBlack;
[self presentViewController:picker animated:YES completion:^{}];
Das war, was es war. Ich präsentierte es auch von einem UIPover und ich fügte die Linie hinzu, um es vor dem Öffnen des MailComposer zu entlassen, und es hat funktioniert! danke – Airtower