2014-02-14 2 views
1

내 응용 프로그램에서 uidocumentinteractioncontroller를 사용하지만 열려있는 메뉴에서 메일을 클릭하면 메일이 닫히지 않고 메일을 보낼 수있는 메일이 없습니다. 알림 또는 메일 계정이 없다는 것을 알려주는 것입니다. 어쩌면 혼자서 경고를 표시 할 수 있습니다. 아이폰에 메일 계정이 없다는 것을 알게되면 경고를 표시 할 수 있습니다. 사용자가 여기에 이메일 계정uidocumentinteractioncontroller open in mail.

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 –