2012-10-19 37 views
2

我有一個基於文檔的應用程序。自升級到XCode 4.5.1(從4.4開始)當我從Xcode調試應用程序時,NSOpenPanel崩潰。當我直接啓動程序時它不會崩潰。當使用Xcode 4.5.1進行調試時,NSOpenPanel崩潰

我在兩種情況下使用NSOpenPanel:當用戶從「文件」菜單中選擇「打開」(因爲它是一個基於文檔的應用程序,我自己的代碼都不涉及)以及將一些數據導入到我的文檔(所以它被我自己的代碼調用)。 NSOpenPanel在兩種情況下都會崩潰(對話框會打開,但在我可以執行任何操作之前,會引發異常)。

我做了乾淨的嘗試,從蘋果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]; 

看來期間代碼簽名檢查某處崩潰(我的應用程序沒有代碼簽字):

stack trace

我必須設置啓動一個新項目?任何幫助表示讚賞...

非常感謝。

回答

12

我發現原因:我有一個斷點設置爲「所有異常」。當我禁用它或選擇「評估後自動繼續」時,它可以工作。我猜它與App Sandbox有關。

相關問題