我在我的应用程序中使用以下代码来创建和填充用户要发送的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的设备。
此致
答案 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时他们无法发送消息。