5

現在[MFMailComposeViewController canSendMail]、デバイスにアカウントが存在するかどうかを確認するために使用しています。そうでない場合は、アラートを表示したいと思います。

ローカライズされた言語で「メール アカウントがありません」という警告を表示する同じ種類のアプリを見ました。

ローカライズする必要がある同じアラートが必要です。

システムアラートですか、それともすべてのローカライズ文字列でカスタムを作成する必要がありますか?

これが私が使用している正確な実装です

if (![MFMailComposeViewController canSendMail])
   return nil;
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
if(mailViewController)
{
      //Setting Email Stuff
}
4

1 に答える 1

3

これはシステム メッセージであるため、ローカライズする必要はありません。プロジェクトにその言語が含まれている場合は、正しい言語で表示されます。

            Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
            if (mailClass != nil)
            {
                MFMailComposeViewController *vc = [[[MFMailComposeViewController alloc] init] autorelease];
                if (vc!=nil) {
                    [vc setSubject:@"Mail subject"];

                    NSMutableString * message = @"mail message";

                    [vc setMessageBody:message isHTML:YES];


                    vc.mailComposeDelegate = self;

                    [self presentModalViewController:vc animated:YES];
                }

            }
            else
            {
                //Device doesn't include mail class, so it can't send mails
            }

をチェックしないcanSendMailと、メッセージを送信しようとすると、デバイスにアカウントがないというアラートが表示されます

于 2013-07-29T13:32:18.410 に答える