使用 Xcode 4.5.1 调试时 NSOpenPanel 崩溃

Posted

技术标签:

【中文标题】使用 Xcode 4.5.1 调试时 NSOpenPanel 崩溃【英文标题】:NSOpenPanel crashes when debugging with Xcode 4.5.1 【发布时间】:2012-10-19 17:23:45 【问题描述】:

我有一个基于文档的应用程序。自从升级到 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 检查期间它似乎在某处崩溃(我的应用程序没有代码签名):

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

非常感谢。

【问题讨论】:

【参考方案1】:

我找到了原因:我在“所有异常”上设置了断点。当我禁用它或选择“评估后自动继续”时,它可以工作。我猜它与App Sandbox有关。

【讨论】:

以上是关于使用 Xcode 4.5.1 调试时 NSOpenPanel 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

使用 IB / Xcode 4.5.1 和 iOS Simulator 6.0 自定义 UIView 操作方法

XCode 4.5.1 安装配置文件时崩溃

卸载视图时保存 UIImageView - Xcode 4.5.1

您可以在 xCode 4.5.1 中将默认笔尖大小设置为 3.5" 吗?

使用断点进行调试时,Xcode 7.3.1 使用 swift 代码崩溃

递增动态原型使 XCode 4.5.1 崩溃