问题几乎在标题中。实现标准代码每个人似乎都用来在应用程序中发送短信,并在模拟器上返回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设备,所以我无法测试它。
有什么想法吗?这个问题盯着我的脸吗?谢谢你的帮助。
答案 0 :(得分:1)
这是模拟器中的一个错误,请放心,在Xcode 4.3中它只是弹出一个空的视图控制器,并带有以下控制台消息:
Application tried to push a nil view controller on target <MFMessageComposeViewController: 0x805eb20>
但是使用Xcode 4.2,它会崩溃......不太好......