模拟器上的 MFMessageComposeViewController - canSendText? [英] MFMessageComposeViewController on Simulator - canSendText?

查看:12
本文介绍了模拟器上的 MFMessageComposeViewController - canSendText?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

following situation: I want to send in app SMS. This is my code creating the MFMessageComposeViewController:

-(void) showMessageComposerWithText:(NSString*)messageText telNumber:(NSString*)telNumber composeDelegate:(id)delegate
{
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
    if([MFMessageComposeViewController canSendText])
    {   
        controller.body = messageText;
        controller.recipients = [NSArray arrayWithObject:telNumber];
        controller.messageComposeDelegate = delegate;

        [delegate presentModalViewController:controller animated:YES];
    }
}

So I think this is straight forward. When testing in Simulator I get following exception: Application tried to push a nil view controller on target <MFMessageComposeViewController: 0x8a4e090>. I'm also wondering myself why [MFMessageComposeViewController canSendText] returns YES when running the app in the simulator.

When running on the device, everything is working correctly.

I couldn't find anything in the docs/web concerning this strange behavior.

I'm running Xcode 4.3 on OS 10.7.3, Deployment Target is iOS 5.0.

Thanks in advance, tubtub

解决方案

This problem occurs when you install Messages beta on OS X Lion.

Edit: It also occurs on Mountain Lion when there is an iMessage account configured and enabled. If the account is disabled, it works correctly (canSendText returns NO).

Tip: If you use controller.modalTransitionStyle = UIModalTransitionStylePartialCurl, you can go back in Simulator by clicking on the curled "page" in the upper left corner.

这篇关于模拟器上的 MFMessageComposeViewController - canSendText?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆