我有一个项目必须测试OS X 10.8的兼容性,我在macOS 10.12.1& Xcode 8.1,一切都运行良好。但现在我在OS X 10.8.5& Xcode 5.1.1,它有一个错误:
主题1:EXC_BAD_ACCESS(代码= EXC_I386_GPFLT)
此错误发生在
中[[NSApplication sharedApplication] terminate:nil];
或
[NSApp run];
问:如何解决这个问题?
我的项目是混合C& Objective-C代码,这里是main
函数:
int main (int argc, const char * argv[])
{
[NSApplication sharedApplication];
[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
[NSApp activateIgnoringOtherApps:YES];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSDisabledDictationMenuItem"];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSDisabledCharacterPaletteMenuItem"];
/* Some other codes to create windows & menus... */
AppDelegate *appDelegate = [[AppDelegate alloc] init];
[NSApp setDelegate:appDelegate];
[NSApp run]; // => EXC_BAD_ACCESS
return 0;
}
以及其他地方:
if (allWindowsAreClosed) {
[[NSApplication sharedApplication] terminate:nil]; // => EXC_BAD_ACCESS
}