第一: 介绍
App 内发送短信是不用跳出App利用手机系统的发短信页面直接在本App内就可以发送短信的功能。本功能在 iOS4.0 的时被引入进来,主要是使用 #import <MessageUI/MessageUI.h> 头文件下的 MFMessageComposeViewController 类。
第二、准备工作
由第一步我们知道要使用App内发送短信我们必须导入 #import <MessageUI/MessageUI.h> 头文件。导入头文件后还必须使调用短息的那个类准守
MFMessageComposeViewControllerDelegate
协议。同时要实现 messageComposeViewController:didFinishWithResult: 该方法。实例代码展示如下:
1、头文件
// 引入头文件
#import <MessageUI/MessageUI.h>
2、协议
@interface SendMessgaeManager : NSObject <MFMessageComposeViewControllerDelegate>{
}
/*!
发送信息的事件回调处理函数
*/
- (void)messageComposeViewController:(nonnull MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
// 是否返回上一个控制器
BOOL isCanPush = YES;
// 事件处理
switch (result) {
// 用户取消短信发送
case MessageComposeResultCancelled:{
[self alertWithMessage:@"用户取消发送短信"];
}
break;
// 短信发送成功
case MessageComposeResultSent:{
[self alertWithMessage:@"短信发送成功,请注意查收"];
}
break;
// 短信发送失败
case MessageComposeResultFailed:{
[self alertWithMessage:@"短信发送失败,请重新发送"];
isCanPush = NO;
}
break;
default:
break;
}
if (!isCanPush) {
return ;
}
// 返回上一个控制器
[controller dismissViewControllerAnimated:YES completion:nil];
}
// 判断是否可以发送短信
+ (BOOL)canSendText;
// 判断是否支持主题短信的发送,该功能必须在iOS7以上使用
+ (BOOL)canSendSubject API_AVAILABLE(ios(7.0));
// 判断是否发送短信是否支持附件,该功能必须在iOS7以上使用
+ (BOOL)canSendAttachments API_AVAILABLE(ios(7.0));
// 判断发送短信附件是否支持系统统一类型标识符