Подтвердить что ты не робот

_UIViewServiceInterfaceErrorDomain

У меня проблема с MFMailComposeViewController

Я получаю эту ошибку

viewServiceDidTerminateWithError: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "The operation couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)" UserInfo=... {Message=Service Connection Interrupted}

с этим кодом

- (IBAction) mailbutton:(id)sender 
{

    if([MFMailComposeViewController canSendMail]) 
    {

        [MSAPP.globalMailComposer setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
        [self presentViewController:MSAPP.globalMailComposer animated:YES completion:nil];

    } 
    else 
    {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                    message:@"Unable to mail. No email on this device?"
                                                   delegate:self
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
        [alert show];
        [MSAPP cycleTheGlobalMailComposer];
    }
}
4b9b3361

Ответ 1

Это известная проблема с симулятором iOS 8. Пожалуйста, см. этот пост для возможного обходного пути.

Вы ДОЛЖНЫ выделять и запускать MFMailComposeViewController в более ранней стадии и удерживать ее в одной статической переменной, когда это необходимо получить статический экземпляр MFMailComposeViewController и представить его.

И вам почти наверняка придется "цитировать" глобальные MFMailComposeViewController после каждого использования. Он не является надежным "повторное использование" того же. Имейте глобальную рутину, которая выдает, а затем повторно инициализирует singleton MFMailComposeViewController. Назовите это каждый после того, как вы закончите с ним

Кредит отправляется на "Joe Blow" за сообщение. Судя по вашему коду, вы уже объявили глобальный композитор почты. Попробуйте "переработать" его, поскольку пост предлагает посмотреть, решит ли это вашу проблему. У меня такая же проблема, и, к сожалению, это решение не исправляет мои проблемы. Я могу подтвердить, что это решение работает на симуляторе iOS 7.1, но не на iOS 8, хотя было предложено, что оно будет работать на физическом устройстве iOS 8.