Я работаю над приложением 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];
Я просто хочупоказывать предупреждение пользователям при возникновении ошибки.Почему ОС может отправлять приложению сигнал после возникновения ошибки и появления предупреждений несколько раз?