macOS:来自调试器的消息:由于信号9

时间:2018-10-26 06:37:43

标签: objective-c macos cocoa

我正在处理macOS应用程序。当它运行以下代码行时,可能会被OS中的单个信号终止。我的意思是,有时它将在几次之后终止,但有时效果很好。 正如我研究的那样,这不是应用程序本身的崩溃。这是由于OS向其发送信号(9)而导致应用程序必须退出。但是我不知道为什么会这样。一些博客说这与内存有关。但是该应用程序根本不需要太多内存。

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

delegateQueue这里是[NSOperationQueue mainQueue],此行使该块在应用程序的主线程中执行,因为它将为用户带来警报窗口(UI更改)。

在[委托会话:自我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];       

我只想在发生错误时向用户显示警报。为什么操作系统会在错误发生并且警报出现几次后向应用发送信号?

0 个答案:

没有答案