问题
我运行我的单元测试。在某一时刻,我等待使用:
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
NSOperationQueue 为空。当我的应用程序到达这条线时,它会立即终止。它与其他测试运行完全相同的行。最近所有测试都运行良好。它有时也会在启动时立即终止我的应用程序。
到底是怎么回事?
问题
我运行我的单元测试。在某一时刻,我等待使用:
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
NSOperationQueue 为空。当我的应用程序到达这条线时,它会立即终止。它与其他测试运行完全相同的行。最近所有测试都运行良好。它有时也会在启动时立即终止我的应用程序。
到底是怎么回事?
我已经为我发布了这个以提供答案,以防其他人遇到同样的问题,因为我已经花了一整天的时间在这个问题上,并且感谢 git 的真棒,终于找到了这个问题。
我补充说:
-(BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender {
return YES;
}
进入我的应用程序委托,因为我希望我的应用程序在窗口关闭时终止。事实证明,这是明显随机终止的原因。
我确实在启动时隐藏了我的窗口,所以我只能认为这是导致应用程序立即终止的原因,尽管这并不是每次启动实际应用程序时都会发生。
我只知道它在那个单元测试中一直终止,这让我认为这与这段代码或我的测试有关。不是。
我摆脱了上面的行,现在一切都按预期工作。