MFMessageComposeViewController canSendText类在Simulator上返回YES

时间:2012-02-20 16:45:05

标签: ios xcode sms message simulator

问题几乎在标题中。实现标准代码每个人似乎都用来在应用程序中发送短信,并在模拟器上返回YES。以为这可能是因为我正在使用iPhone模拟器,但它在iPad模拟器上做的完全相同。不确定示例代码是否值得发布,但这里就是..

·H

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMessageComposeViewController.h>

的.m

-(void)sendSMS {

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

它不会使模拟器崩溃,它会显示一个带有标准蓝色导航栏的Modal VC,而且只显示黑色内容。

我主要担心的是它会在不支持它的设备(即iPod / iPad)上返回YES。如果它是模拟器中的一个错误,那么我会满足于此。使用此代码很多次,并且在模拟器上运行时总是返回NO。我无法访问没有短信功能的iOS设备,所以我无法测试它。

有什么想法吗?这个问题盯着我的脸吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

这是模拟器中的一个错误,请放心,在Xcode 4.3中它只是弹出一个空的视图控制器,并带有以下控制台消息:

Application tried to push a nil view controller on target <MFMessageComposeViewController: 0x805eb20>

但是使用Xcode 4.2,它会崩溃......不太好......