iOS开发之发送信息 邮件 打电话

2024-08-23 00:18

本文主要是介绍iOS开发之发送信息 邮件 打电话,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

创建MFMessageComposeViewController对象。

设置收件人recipients、

信息正文body,

主题subject

附件attachments(可以通过canSendSubject、canSendAttachments方法判断是否支持)

设置代理messageComposeDelegate(注意这里不是delegate属性,因为delegate属性已经留给UINavigationController,MFMessageComposeViewController没有覆盖此属性而是重新定义了一个代理),实现代理方法获得发送状态。

isSupportedAttachmentUTI  判断是否支持统一标识附件

根据URL路径和添加附件,返回YES表示添加成功

- (BOOL)addAttachmentURL:(NSURL *)attachmentURL withAlternateFilename:(NSString *)alternateFilename;

根据Data数据添加附件

- (BOOL)addAttachmentData:(NSData *)attachmentData typeIdentifier:(NSString *)uti filename:(NSString *)filename;

#import"ViewController.h"

//引入框架

#import

@interfaceViewController()

@property(nonatomic,strong)UIWebView*webView;

@end

@implementationViewController

- (void)viewDidLoad {

[superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

UIButton*phoneButton = [UIButtonbuttonWithType:UIButtonTypeCustom];

phoneButton.frame=CGRectMake(100,100,100,100);

[phoneButtonsetTitle:@"打电话"forState:UIControlStateNormal];

[phoneButtonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal];

[phoneButtonaddTarget:selfaction:@selector(phoneButtonAction:)forControlEvents:UIControlEventTouchUpInside];

UIButton*messageButton = [UIButtonbuttonWithType:UIButtonTypeCustom];

messageButton.frame=CGRectMake(100,240,100,100);

[messageButtonsetTitle:@"发信息"forState:UIControlStateNormal];

[messageButtonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal];

[messageButtonaddTarget:selfaction:@selector(messageButtonAction:)forControlEvents:UIControlEventTouchUpInside];

UIButton*emailButton = [UIButtonbuttonWithType:UIButtonTypeCustom];

emailButton.frame=CGRectMake(100,400,100,100);

[emailButtonsetTitle:@"发邮件"forState:UIControlStateNormal];

[emailButtonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal];

[emailButtonaddTarget:selfaction:@selector(emailButtonAction:)forControlEvents:UIControlEventTouchUpInside];

[self.viewaddSubview:phoneButton];

[self.viewaddSubview:messageButton];

[self.viewaddSubview:emailButton];

}

//电话有三种方法

- (void)phoneButtonAction:(UIButton*)button

{

//法一:没有弹窗提示直接运行不能回到原来的应用程序

//  tel://是代码规范

//    NSURL *url = [NSURL URLWithString:@"tel://15385548670"];

//    [[UIApplication sharedApplication] openURL:url];

//法二:有弹窗提示可以回到原来的应用程序

//  telprompt这个是苹果的私有方法应用程序中如果使用了这个方法审核会被驳回

//    NSURL *url = [NSURL URLWithString:@"telprompt://15385548670"];

//    [[UIApplication sharedApplication] openURL:url];

//法三:借助webView打电话有弹窗会回到原来的应用程序建议使用

//懒加载不要将webView添加到self.view如果添加的话会遮挡原应用程序

if(_webView==nil) {

_webView= [[UIWebViewalloc]init];

}

NSURL*url = [NSURLURLWithString:@"tel://15385548670"];

//创建一个请求

NSURLRequest*request = [NSURLRequestrequestWithURL:url];

//通过请求加载webView

[_webViewloadRequest:request];

}

//  message和email需要需要添加一个一个框架

- (void)messageButtonAction:(UIButton*)button

{

if([MFMessageComposeViewControllercanSendText]) {

//初始化一个控制器

MFMessageComposeViewController*messageVC = [[MFMessageComposeViewControlleralloc]init];

//设置短信内容

//设置收件人可设置多个

messageVC.recipients=@[@"15385548670"];

//设置短信内容

messageVC.body=@"

这篇关于iOS开发之发送信息 邮件 打电话的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097810

相关文章

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char