iOS应用程序短信分享和邮件分享

来源:互联网 发布:阿里pc客户端 百度云 编辑:程序博客网 时间:2024/05/16 15:31

前言

本篇文章讲述在iOS开发中的短信分享以及邮件分享

短信分享

方式一:
如果利用该方式发送短信, 当短信发送完毕或者取消之后不会返回应用程序

        NSURL *url = [NSURL URLWithString:@"sms://10010"];        [[UIApplication sharedApplication] openURL:url];

方式二:

        // 判断当前设备能否发送短信        if (![MFMessageComposeViewController canSendText]) {            NSLog(@"当前设备不能发送短信");            return ;        }        MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];        // 设置短信内容        vc.body = @"你好呀。";        // 设置收件人列表        vc.recipients = @[@"10010"];        // 设置代理        vc.messageComposeDelegate = self;        // 显示控制器        [self presentViewController:vc animated:YES completion:nil];

代理方法

#pragma mark - MFMessageComposeViewController- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{    NSLog(@"didFinishWithResult");    [self dismissViewControllerAnimated:YES completion:^{    }];    if (MessageComposeResultCancelled == result) {        NSLog(@"取消发送");    }else if (MessageComposeResultSent == result)    {        NSLog(@"发送成功");    }else    {        NSLog(@"发送失败");    }}

邮件分享

方式一:
如果采用该方式,当邮件发送成功或者失败或者取消之后不会回到原来的应用程序

NSURL *url = [NSURL URLWithString:@"mailto://10010@qq.com"];        [[UIApplication sharedApplication] openURL:url];

方式二:

// 不能发邮件        if (![MFMailComposeViewController canSendMail]) return;        // 当邮件发送成功或者失败或者取消之后会回到原始程序        MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];        // 设置邮件主题        [vc setSubject:@"会议"];        // 设置邮件内容        [vc setMessageBody:@"今天下午开会吧" isHTML:NO];        // 设置收件人列表        [vc setToRecipients:@[@"123456@qq.com"]];        // 设置抄送人列表        [vc setCcRecipients:@[@"1234@qq.com"]];        // 设置密送人列表        [vc setBccRecipients:@[@"56789@qq.com"]];        // 添加附件(一张图片)        UIImage *image = [UIImage imageNamed:@"lufy.jpeg"];        NSData *data = UIImageJPEGRepresentation(image, 0.5);        [vc addAttachmentData:data mimeType:@"image/jepg" fileName:@"lufy.jpeg"];        // 设置代理        vc.mailComposeDelegate = self;        // 显示控制器        [self presentViewController:vc animated:YES completion:nil];

代理方法

#pragma mark - MFMailComposeViewControllerDelegate- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{    // 关闭邮件界面    [controller dismissViewControllerAnimated:YES completion:nil];    if (result == MFMailComposeResultCancelled) {        NSLog(@"取消发送");    } else if (result == MFMailComposeResultSent) {        NSLog(@"已经发出");    } else {        NSLog(@"发送失败");    }}

总结

希望能够帮助到一些同学关于短信分享和邮件分享。

0 0
原创粉丝点击