以下情况:我想在应用程序中发送短信。这是我创建 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];
}
}
所以我认为这是直接的。在模拟器中测试时,出现以下异常:
Application tried to push a nil view controller on target <MFMessageComposeViewController: 0x8a4e090>
.我也想知道为什么[MFMessageComposeViewController canSendText]
返回 YES
在模拟器中运行应用程序时。在设备上运行时,一切正常。
我在文档/网络中找不到关于这种奇怪行为的任何内容。
我在 OS 10.7.3 上运行 Xcode 4.3,部署目标是 iOS 5.0。
提前致谢,
浴缸
最佳答案
在 OS X Lion 上安装 Messages beta 时会出现此问题。
编辑:当配置和启用 iMessage 帐户时,它也会发生在 Mountain Lion 上。如果帐户被禁用,它可以正常工作(canSendText 返回 NO)。
提示:如果您使用 controller.modalTransitionStyle = UIModalTransitionStylePartialCurl
,您可以通过单击左上角 curl 的“页面”返回模拟器。
关于ios5 - 模拟器上的 MFMessageComposeViewController - canSendText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9349381/