vendredi 14 août 2015

MFMailComposeViewController delegate not called

I'm not able to call Mail composer delegate method even if I'm writing below code:

-(void)openMailComposerInViewController:(UIViewController *)hostController{
if ([MFMailComposeViewController canSendMail])
{
    // Email Subject
    NSString *emailTitle = @"Test Email";
    // Email Content
    NSString *messageBody = @"Test Email";
    // To address
    NSArray *toRecipents = [NSArray arrayWithObject:@"support@test.com"];

    mailComposer = [[MFMailComposeViewController alloc] init];
    mailComposer.mailComposeDelegate = self;
    [mailComposer setSubject:emailTitle];
    [mailComposer setMessageBody:messageBody isHTML:NO];
    [mailComposer setToRecipients:toRecipents];

    // Present mail view controller on screen

    [hostController presentViewController:mailComposer animated:YES completion:NULL];
    mailController = hostController;
}
else
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure"
                                                    message:@"Your device doesn't support the composer sheet"
                                                   delegate:nil
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
    [alert show];
}
}

pragma mark - Mail

- (void) mailComposeController:(MFMailComposeViewController *)controller    didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
  switch (result)
  {
    case MFMailComposeResultCancelled:
        NSLog(@"Mail cancelled");
        break;
    case MFMailComposeResultSaved:
        NSLog(@"Mail saved");
        break;
    case MFMailComposeResultSent:
        NSLog(@"Mail sent");
        break;
    case MFMailComposeResultFailed:
        NSLog(@"Mail sent failure: %@", [error localizedDescription]);
        break;
    default:
        break;
}

// Close the Mail Interface
[mailController dismissViewControllerAnimated:YES completion:NULL];
}

I do not want to call mail composer on self

However, my delegate is not getting called. Please help. The application crashed on clicking on Cancel or Send mail button



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire