IOS中调用系统拨打电话与发送短信

简介:

IOS中调用系统拨打电话发送短信

一、调用打电话界面

[[UIApplication sharedApplicationopenURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",_phoneNumber]]];


二、发送短消息界面

调用系统的发送短信的界面,需要引入以下头文件:

#import <MessageUI/MessageUI.h>

系统短信界面的调用很简单,只需下面几句代码:

?
1
2
3
4
5
          MFMessageComposeViewController * con = [[MFMessageComposeViewController alloc]init];
             if  ([MFMessageComposeViewController canSendText]) {
                 con.recipients=@[_phoneNumber]; //电话数组
                 con.messageComposeDelegate=self;
                 [self presentViewController:con animated:YES completion:nil];

下面将MessageUI的一些常用方法总结如下:

+ (BOOL)canSendText

判断是否支持发送文字

+ (BOOL)canSendSubject;

判断是否支持发送主题信息


+ (BOOL)canSendAttachments;

判断是否支持发送附件


+ (BOOL)isSupportedAttachmentUTI:(NSString *)uti;

判断是否支持统一标示附件


- (void)disableUserAttachments;

禁止发送附件


@property(nonatomic,copyNSArray *recipients;

联系人数组,会显示在发送人列表里


@property(nonatomic,copyNSString *body;

信息主体内容


@property(nonatomic,copyNSString *subject;

信息标题


@property(nonatomic,copyreadonlyNSArray *attachments;

信息附件数组 只读的 里面是字典


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

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


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

根据Data数据添加附件


- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result;

MFMessageComposeViewControllerDelegate的代理方法,result会传回来一个结果,枚举如下:

?
1
2
3
4
5
6
7
8
enum  MessageComposeResult {
     //取消发送
     MessageComposeResultCancelled,
     //发送成功
     MessageComposeResultSent,
     //发送失败
     MessageComposeResultFailed
};


目录
相关文章
|
4月前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
120 1
|
2月前
|
搜索推荐 Android开发 iOS开发
探索安卓与iOS系统的用户界面设计哲学
现代移动操作系统的设计哲学不仅仅是技术的表现,更是用户体验与功能实现的结合。本文将深入分析安卓与iOS两大主流系统在用户界面设计方面的差异与共通之处,探讨它们背后的思维模式及其对用户体验的影响。 【7月更文挑战第11天】
|
3月前
|
存储 安全 编译器
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
113 2
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
|
21天前
|
存储 安全 编译器
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
|
21天前
|
人工智能 自然语言处理 云计算
iOS迎来AI升级:揭秘Apple全新“智能”系统
iOS迎来AI升级:揭秘Apple全新“智能”系统
iOS迎来AI升级:揭秘Apple全新“智能”系统
|
23天前
|
iOS开发 开发者
iOS 16 系统键盘修复问题之汇编层面模拟两次返回操作的实现如何解决
iOS 16 系统键盘修复问题之汇编层面模拟两次返回操作的实现如何解决
|
23天前
|
存储 iOS开发
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类对_lock的加锁和解锁操作如何解决
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类对_lock的加锁和解锁操作如何解决
|
9天前
|
安全 Android开发 iOS开发
安卓与iOS的终极对决:哪个系统更适合你?
在智能手机的世界里,安卓和iOS两大操作系统如同两座巍峨的山峰,各自拥有庞大的用户群体。本文将深入浅出地探讨这两个系统的优缺点,并帮助你找到最适合自己的那一款。让我们一起揭开这场技术盛宴的序幕吧!
|
23天前
|
编译器 C语言 iOS开发
iOS 16 系统键盘修复问题之确定_lock是否用于保护对_deferredTasks的多线程读写如何解决
iOS 16 系统键盘修复问题之确定_lock是否用于保护对_deferredTasks的多线程读写如何解决
|
23天前
|
存储 安全 iOS开发
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类中对_lock的使用是否正确如何解决
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类中对_lock的使用是否正确如何解决