IOS小知识点12之IOS查看网页、发短信、打电话、发邮件

IOS小知识点12之IOS查看网页、发短信、打电话、发邮件_第1张图片

通过一句话访问网页、打电话、发送邮件:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]];

//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];

//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]];

//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]];

当然模拟器中是无法打电话的。

在4.0 之后的SDK中有一个新的类可以用于发送短信、邮件。。。

首先检查系统中是否存在这个类,并且这个类是否可用:是否具有打电话的功能

 Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));

//  模拟器:

    if (mailClass != nil)

    {

        // We must always check whether the current device is configured for sending emails

        if ([mailClass canSendMail])

        {

            NSLog(@"具有发邮件功能");

        }

        else

        {

            NSLog(@"不支持发邮件功能");

        }

    }

    else

    {

            NSLog(@"系统版本必须在4.0以上");

    }

当然在之前我们肯定是要添加头文件以及监听方法:

#import

@interface ViewController ()<MFMailComposeViewControllerDelegate>

设置发邮件的各种属性

-(void)sendmessage{


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

    mail.mailComposeDelegate = self;

    [mail setSubject:@"邮件主题"];  //设置邮件的主题

    [mail setMessageBody:@"邮件内容!" isHTML:NO];

    if ([MFMailComposeViewController canSendMail]) {

        [self presentViewController:mail animated:YES completion:^(){

        

        }];

    }

}

发邮件界面类似:

IOS小知识点12之IOS查看网页、发短信、打电话、发邮件_第2张图片

邮件发送之后还有回调方法:

- (void)mailComposeController:(MFMailComposeViewController*)controller

          didFinishWithResult:(MFMailComposeResult)result

                        error:(NSError*)error {

    switch (result)

    {

        case MFMailComposeResultCancelled:

可以根据返回值类型确定是否需要进行进一步的操作。



你可能感兴趣的:(IOS小知识点12之IOS查看网页、发短信、打电话、发邮件)