macOS: сообщение отладчика: прекращено из-за сигнала 9 - PullRequest
0 голосов
/ 26 октября 2018

Я работаю над приложением macOS.Когда он запускает следующую строку кода, он может завершаться синглом из ОС.Я имею в виду, что иногда это будет прекращено через несколько раз, но иногда работает хорошо.Как я выяснил, это не сбой самого приложения.Это связано с тем, что ОС посылает ему сигнал (9), и приложение должно выйти.Но я не знаю, почему это происходит.В некоторых блогах говорится, что речь идет о памяти. Но приложению вообще не требуется слишком много памяти.

            [self.delegateQueue addOperationWithBlock:^{
            [delegate session:self connectionFailedWithError:error];            
        }];

DelegateQueue здесь [NSOperationQueue mainQueue], эта строка делает блок выполненным в главном потоке приложения., потому что это принесет окно предупреждения пользователям (изменения пользовательского интерфейса).

В [сеанс делегата: self connectionFailedWithError: error] следующий код будет запускаться

NSAlert *alert = [[NSAlert alloc] init];
    alert.messageText = NSLocalizedString(@"Connection Failed", nil);
    alert.informativeText = [NSString stringWithFormat:NSLocalizedString(@"Connection Failed Message", @"Failed ot connect to {host name}. Error: {localized error description}"),
                             session.hostName, 
                             error.localizedDescription];
    [alert runModal];       

Я просто хочупоказывать предупреждение пользователям при возникновении ошибки.Почему ОС может отправлять приложению сигнал после возникновения ошибки и появления предупреждений несколько раз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...