私はMFMailComposeViewControllerのオブジェクトを作成できません

MFMailComposeViewControllerのオブジェクトを作成できません。手伝って頂けますか?

私は2つの方法を試して、それは動作しません:

MFMailComposeViewController *mf = [MFMailComposeViewController new];

または

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

誰が何が起こっているか知っていますか? ありがとう。

P.S. iOS 4.3.3ではiPad 2では動作しませんが、iOS 4.3.2でiPad 1で動作します

0
そして、あなたはこの行の後に何をしていますか?
追加された 著者 EmptyStack,

3 答え

[MFMailComposeViewController canSendMail] (ドキュメントがリンクされている)はYESを返します。

私はそれがあなたのケースではないと思う。

それがyesを返した場合、/ initをallocした後に "mf"がnullに設定されていますか?

また、MessageUI.frameworkがプロジェクトに追加されていることを確認してください。 必要に応じて、チュートリアルをご覧ください。

4
追加された

私は2番目のフォーマットを使用します:

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

確認してください:

  • You have added the MessageUI.framework to your project
  • You have added #import to your class header file
  • You declare MFMailComposeViewControllerDelegate and any relevant methods you require

[self presentModalViewController:mf animated:YES]; を呼び出すときにデバイスにメールアカウントが設定されていない場合は、アップルの警告画面が表示されます。

2
追加された
あなたはiOS 6.1でそれを持っていない場合、クラッシュするようです
追加された 著者 powerj1984,

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];
1
追加された