App内发送短信

本文介绍了如何在iOS应用中实现不离开App就能发送短信的功能。该功能自iOS 4.0开始引入,主要依赖于MessageUI框架中的MFMessageComposeViewController类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一: 介绍

                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>{
}

3、协议方法实现
/*!
 发送信息的事件回调处理函数
 */
- (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];
}

第三、 MFMessageComposeViewController 类的介绍
// 判断是否可以发送短信

+ (BOOL)canSendText;



// 判断是否支持主题短信的发送,该功能必须在iOS7以上使用

+ (BOOL)canSendSubject API_AVAILABLE(ios(7.0));



// 判断是否发送短信是否支持附件,该功能必须在iOS7以上使用

+ (BOOL)canSendAttachments API_AVAILABLE(ios(7.0));



// 判断发送短信附件是否支持系统统一类型标识符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值