2016-05-13 33 views
0

Mein MFMailComposer Code:iOS - MFMailComposerViewController kann nicht abbrechen, wenn addAttachmentData:

MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
[mailViewController setDelegate:self]; 
[mailViewController setSubject:@"subject"]; 
[mailViewController setToRecipients:[NSArray arrayWithObject:@"[email protected]"]]; 
[mailViewController setMessageBody:@"body" isHTML:NO]; 

for (int i = 0; i < self.imagesData.count; i++) 
{ 
    NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd-HH-mm-ss-SSSS"]; 
    [mailViewController addAttachmentData:[self.imagesData objectAtIndex:i] mimeType:[self contentTypeForImageData:[self.imagesData objectAtIndex:i]] fileName:[NSString stringWithFormat:@"portfolio_%@_%d", [dateFormatter stringFromDate:[NSDate date]], i]]; 
} 

[self presentViewController:mailViewController animated:YES completion:nil]; 

Mit diesem Code, den ich drücken würde abbrechen und löschen Entwurf und nichts passiert, die MFMailComposerViewController nicht schließt.

Ich habe die Delegierten bereits:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error{ 
if(error) NSLog(@"ERROR - mailComposeController: %@", [error localizedDescription]); 

if (result == MFMailComposeResultSent) 
{ 
    NSLog(@"It's away!"); 
} 

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 
[self dismissViewControllerAnimated:YES completion:nil];} 

Was bin ich?

+0

Wenn Sie Anhänge entfernen, wird es gut funktioniert? – Bhanupriya

+0

Wird der Delegat aufgerufen? Gibt es einen Fehler? –

Antwort

0

OK Ich habe eine Antwort gefunden. Ich war dumm.

benutzte ich setDelegate statt setMailComposeDelegate

+2

Das ist ein einfacher Fehler zu machen, da es die zwei verschiedenen Delegateneigenschaften gibt. – rmaddy