2014-02-14 73 views
1

我在我的應用程序中使用uidocumentinteractioncontroller,但我發現,如果我沒有設置郵件的郵件帳戶,當我點擊打開菜單中的郵件時,它只是解僱,沒有一個警報或某事告訴我,我沒有郵件帳戶。 也許我可以通過自己顯示警報,如果我知道iPhone沒有郵件帳戶,我可以顯示警報。如果用戶的電子郵件帳戶uidocumentinteractioncontroller打開郵件不起作用

Class mailClass = (NSClassFromString(@"MFMailComposeViewController")); 
    if (mailClass != nil) 
    { 
     if ([mailClass canSendMail]) 
     { 
      // show the email dialog 
     } 
     else 
     { 
      [self launchMailAppOnDevice]; 
     } 
    } 
    else 
    { 
     [self launchMailAppOnDevice]; 
    } 

2 - 這裏

回答

1

1-檢查是LaunchEmailAppOndevice

+ (void)launchMailAppOnDevice { 

    NSString *recipients = [NSString stringWithFormat:@"mailto:%@?subject=%@",kEmailToAddress,kEmailSubject]; 
    NSString *body = [NSString stringWithFormat:@"&body=%@", kEmailBody]; 
    NSString *email = [NSString stringWithFormat:@"%@%@", recipients, body]; 
    email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]]; 
} 

當你調用LaunchMailOnDevice用戶將被要求輸入新帳戶,然後你消息會自動生成

+0

感謝您的回覆,launchMailAppOnDevice工作得很好,但它可以不使用uidocumentinteractioncontroller,或者有什麼辦法來檢查ma il帳戶沒有開放郵件應用程序。 – Roy

+0

我沒有使用過MessageUI.framework,我知道它是個很好的答案。只要使用canSendMail就可以了。 – Roy

+0

是@Roy,你需要先檢查用戶是否有帳戶使用canSendMail來顯示UIDocumentationInteractionController,如果用戶沒有帳戶,那麼你可以使用launchMailAppOnDevice –

相關問題