Я не могу создать объект MFMailComposeViewController - PullRequest
0 голосов
/ 25 ноября 2011

Я не могу создать объект MFMailComposeViewController.Можете ли вы помочь мне?

Я пробовал 2 метода, и он не работает:

MFMailComposeViewController *mf = [MFMailComposeViewController new];

или

MFMailComposeViewController *mf = [[MFMailComposeViewController alloc] init];

Кто-нибудь знает, что случилось?Спасибо.

PS Он не работает на iPad 2 с ios 4.3.3, но работает на iPad 1 с ios 4.3.2

Ответы [ 3 ]

4 голосов
/ 25 ноября 2011

Проверьте, возвращает ли [MFMailComposeViewController canSendMail] (документация связана) ДА.

Я подозреваю, что это не так, в вашем случае.

Если он действительно возвращает да, установлено ли для "mf" значение null после выполнения alloc / init?

Также убедитесь, чтоMessageUI.framework добавлен в ваш проект. Если вам это нужно, вот учебник .

2 голосов
/ 25 ноября 2011

Я использую второй формат:

MFMailComposeViewController *mf = [[MFMailComposeViewController alloc] init];

Убедитесь:

  • Вы добавили MessageUI.framework в свой проект
  • Вы добавили #import <MessageUI/MessageUI.h> в заголовочный файл вашего класса
  • Вы объявляете MFMailComposeViewControllerDelegate и любые соответствующие методы, которые вам требуются

Если при создании устройства не настроены учетные записи электронной почты, а затем позвоните [self presentModalViewController:mf animated:YES];, вы получите окно предупреждения Apple, информирующее вас о ситуации.

1 голос
/ 17 октября 2013

1) Добавить MessageUI.framework в ваш проект

2) импортировать #import в ваш контроллер представления

3) объявить методы MFMailComposeViewControllerDelegate

        MFMailComposeViewController *mail = [[MFMailComposeViewController alloc]init];
        mail.mailComposeDelegate = self;
        [mail setToRecipients:[NSArray arrayWithObjects:@"mail id", nil]];
        [mail setSubject:@"Contact Us"];
        [mail setMessageBody:@"If U want any information u can send the mail <div> " isHTML:YES];
        [self presentViewController:mail animated:YES completion:nil];
        [mail release];
...