2011-05-05 71 views
0

我需要知道是否有任何方法可以检查用户是否在邮件应用程序中提供了一个ID,以便在调用MFMailComposeViewController之前通知用户您未登录或者您有在邮件应用程序中没有给出电子邮件ID。检查用户是否登录邮件应用程序

回答

1
canSendMail 

返回一个布尔值,表示当前设备是否 能够发送电子邮件 。

+ (BOOL)canSendMail 

返回值

YES,如果设备被配置为 发送电子邮件或者,如果它不是NO。 讨论

你应该在 试图显示邮件 构图界面之前调用此方法。如果返回 否,则不得显示邮件 构图界面。

if([MFMailComposeViewController canSendMail]) 
{ 
//do something 
} 
else 
{ 
// cannot send mail 
} 
+0

+1奎克响应 – 2011-05-05 06:19:29

+0

我们可以从他的登录 – 2011-05-05 06:21:44

+0

的API不公开公开该信息(可能是很好的理由电子邮件ID ,例如阻止开发者收获iPhone用户的电子邮件地址)。 您可能应该询问用户的电子邮件地址,然后将其保存以供将来使用。 – visakh7 2011-05-05 06:23:23

1


您可以通过检查下面的代码

Class mailClass = (NSClassFromString(@"MFMailComposeViewController")); 
if (mailClass != nil) 
{ 
    // We must always check whether the current device is configured for sending emails 
    if ([mailClass canSendMail]) 
    { 
     [self displayComposerSheet]; 
    } 
    else 
    { 
     UIAlertView *objAlert=[[UIAlertView alloc]initWithTitle:@"No Mail Account" message:@"Please create an account first for sending mail." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [objAlert show]; 
     [objAlert release]; 
    } 
} 
else 
{ 
    UIAlertView *objAlert=[[UIAlertView alloc]initWithTitle:@"No Mail Account" message:@"Please create an account first for sending mail." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [objAlert show]; 
    [objAlert release]; 
} 
+0

+1快速response.and也很好的答案 – 2011-05-05 06:20:49