iPhone短信功能

时间:2011-03-05 22:18:04

标签: iphone ios ios4 sms

我在我的应用程序中使用以下代码来创建和填充用户要发送的SMS。通过按UIButton调用此代码。

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
    if([MFMessageComposeViewController canSendText])
    {
        controller.body = @"Hello from Mugunth";
        controller.recipients = [NSArray arrayWithObjects:@"12345678", @"87654321", nil];
        controller.messageComposeDelegate = self;
        [self presentModalViewController:controller animated:YES];
    }

在初次加载视图时,我想测试设备功能,并在必要时隐藏按钮(例如在iPod touch上)。

有没有人有关于如何做到这一点的代码示例?请注意,我只针对iOS 4.0及更高版本,我知道上述代码不适用于使用早期版本iOS的设备。

此致

3 个答案:

答案 0 :(得分:4)

[MFMessageComposeViewController canSendText]将确定您所使用的设备是否可以发送短信。我知道它可以在带有SIM卡,iPod Touch和iOS模拟器的iPhone上做出正确反应。我没有测试它,例如没有SIM卡或iPad的iPhone。

答案 1 :(得分:2)

您可以使用以下代码检测设备是否可以发送短信:

优选:

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"sms:"]]) {

}

[MFMessageComposeViewController canSendText]

答案 2 :(得分:0)

确保在分配[MFMessageComposeViewController canSendText]的实例之前致电MFMessageComposeViewController。较新版本的iOS将发出警报,通知用户在您实例化MFMessageComposeViewController时他们无法发送消息。