首页 文章

MFMessageComposeViewController canSendText类在Simulator上返回YES

提问于
浏览
0

问题几乎在 Headers 中 . 实现标准代码每个人似乎都用来在应用程序中发送短信,并在模拟器上返回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,而且只显示黑色内容 .

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

有任何想法吗?这个问题盯着我的脸吗?谢谢你的帮助 .

1 回答

  • 1

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

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

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

相关问题