天天看點

IOS小知識點12之IOS檢視網頁、發短信、打電話、發郵件

IOS小知識點12之IOS檢視網頁、發短信、打電話、發郵件

通過一句話通路網頁、打電話、發送郵件:

[[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 <MessageUI/MessageUI.h>

@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檢視網頁、發短信、打電話、發郵件

郵件發送之後還有回調方法:

- (void)mailComposeController:(MFMailComposeViewController*)controller

          didFinishWithResult:(MFMailComposeResult)result

                        error:(NSError*)error {

    switch (result)

    {

        case MFMailComposeResultCancelled:

可以根據傳回值類型确定是否需要進行進一步的操作。

下一篇: 立個flag