Ios5 iPhone iOS 5 SDK应用程序内短信错误

Ios5 iPhone iOS 5 SDK应用程序内短信错误,ios5,mfmessagecomposeview,Ios5,Mfmessagecomposeview,提前感谢每次我打电话创建应用内短信时,我都会收到以下错误 应用程序试图将nil视图控制器推送到目标上 这是我在OS4SDK中使用的代码 MFMailComposeViewController *MailController; MFMessageComposeViewController *SMScontroller; NSError *error; NSString *EmailMessage; NSString *SubjectMessage; -(IBAction)sendInAppSMS

提前感谢每次我打电话创建应用内短信时,我都会收到以下错误

应用程序试图将nil视图控制器推送到目标上

这是我在OS4SDK中使用的代码

MFMailComposeViewController *MailController;
MFMessageComposeViewController *SMScontroller;
NSError *error;
NSString *EmailMessage;
NSString *SubjectMessage;

-(IBAction)sendInAppSMS
{

    if([MFMessageComposeViewController canSendText])
    {
        SMScontroller = [[MFMessageComposeViewController alloc] init];
        SMScontroller.messageComposeDelegate = self;

        NSString *MessageString = @"Hello";

        SMScontroller.body = MessageString;

        SMScontroller.navigationBar.tintColor = [UIColor blackColor];

        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];

        [self presentModalViewController:SMScontroller animated:YES];

        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
    }
    else{
        // alertView to tell user to setup a mail account. 
        NSString *message = [[NSString alloc] initWithFormat:@"To use this feature, you need to have an iPhone with SMS abilities."];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"SMS Account Not Detected" message:message delegate:nil cancelButtonTitle:@"Understood" otherButtonTitles:nil];
        [alert show];
    }

}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    switch (result) {
        case MessageComposeResultCancelled:
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"I Like It" message:@"User cancelled sending the SMS"
                                                           delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
            [alert show];
        }
            break;
        case MessageComposeResultFailed:
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"I Like It" message:@"Error occured while sending the SMS"
                                                           delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
            [alert show];
        }
            break;
        case MessageComposeResultSent:
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"I Like It" message:@"SMS sent successfully..!"
                                                           delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
            [alert show];
        }
            break;
        default:
            break;
    }

    [self dismissModalViewControllerAnimated:YES];
}

我相信如果你在模拟器中运行这个,你会得到错误,因为它没有短信。我在模拟器中也会遇到同样的错误,但如果我连接到手机,它就可以正常工作