MFMailComposeViewController ModalView вылетает приложение iOS5 - PullRequest
0 голосов
/ 31 марта 2012

У меня есть приложение iOS TabBar с tabbarcontroller и навигационный контроллер.В моем подробном представлении, которое выдвинуто из моей первой вкладки tableviewcontroller, у меня есть разделение navigationItem.rightBarButtonItem с разделением электронной почты.

У меня есть следующий код для этого:

    - (void)share
{   
    UIActionSheet *popupQuery = [[UIActionSheet alloc] initWithTitle:@"Send" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Email",nil];
    popupQuery.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
    [popupQuery showInView:self.view];
    [popupQuery release];
}

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

      if (buttonIndex == 0) {
        if ([MFMailComposeViewController canSendMail]){
            MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
            [picker setMailComposeDelegate:self];
            [picker setSubject:@"New theme"];
            NSString *emailBody = @"Hi there";
            [picker setMessageBody:emailBody isHTML:NO];
            [self resignFirstResponder];
            picker.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
            picker.modalPresentationStyle = UIModalPresentationCurrentContext;
            [self presentModalViewController:picker animated:NO];
            [picker release];

        }
        else{
        }
}
}

Приложение показывает мнесоставляя представление, но когда я пытаюсь что-то сделать с этим представлением (например, чтобы подобрать адрес или что-то записать) - приложение падает с SIGTRAP.

Приложение вылетает только в iOS5, iOS5.1.В iOS4.2.1 все работает отлично.

В чем проблема?Есть идеи?

Ответы [ 2 ]

1 голос
/ 01 апреля 2012

Согласно документам, я бы предложил вызвать [MFMailComposeViewController canSendMail] метод класса перед созданием MFMailComposeViewController. У меня также вообще нет той [self resignFirstResponder] линии. Я так понимаю, что у вас сбой до того, как ваш mailComposeController:didFinishWithResult:error метод вызван?

0 голосов
/ 13 мая 2012

Спасибо, ребята, за вашу помощь и ваше время.
Это была абсолютно безумная ошибка.Проект имеет кириллическое имя.Я просто переименовал его в латинское имя, и теперь все работает нормально.Моя вина :( Спасибо Евгений Шураков за помощь.

...