使用Xcode 4.5.1进行调试时,NSOpenPanel崩溃

时间:2012-10-19 17:23:46

标签: xcode osx-mountain-lion xcode4.5 nsopenpanel

我有一个基于文档的应用程序。自从升级到XCode 4.5.1(从4.4)以来,当我从Xcode调试应用程序时,NSOpenPanel崩溃了。当我直接启动程序时它不会崩溃。

我在两种情况下使用NSOpenPanel:当用户从“文件”菜单中选择“打开”时(因为它是基于文档的应用程序,不涉及我自己的代码)以及将一些数据导入我的文档(所以它由我自己的代码调用)。 NSOpenPanel在两种情况下崩溃(对话框打开,但在我可以做任何事情之前,会引发异常)。

我做得很干净,尝试将编译器从Apple LLVM切换到LLVM GCC,将调试器从LLDB切换到GDB并返回,但没有变化。

这是我的导入代码:

long result;
NSArray *fileTypes = [NSArray arrayWithObjects: @"txt", @"csv", @"text",
                      NSFileTypeForHFSTypeCode( 'TEXT' ), nil];
NSOpenPanel *oPanel = [NSOpenPanel openPanel];

[oPanel setAllowsMultipleSelection:NO];
[oPanel setAllowedFileTypes:fileTypes];
[oPanel setMessage:@"Please select import file:"];

result = [oPanel runModal];

在CodeSigning检查期间似乎崩溃了(我的应用程序没有代码签名):

stack trace

我是否必须建立一个新项目?任何帮助表示赞赏...

非常感谢。

1 个答案:

答案 0 :(得分:12)

我找到了原因:我在“All Exceptions”上设置了一个断点。当我禁用它或选择“评估后自动继续”它可以工作。我想这与App Sandbox有关。