我幾乎準備好發佈第一個支持沙箱的Mac應用程序。我需要的唯一權利是用戶選定的文件。用戶點擊工具欄按鈕選擇一個或多個圖像文件,這不會造成麻煩。用戶還可以點擊一個按鈕來選擇一個文件夾。當他們這樣做時,Xcode輸出窗口會顯示以下錯誤消息。 CGSSetIgnoresCycle:錯誤1000設置或清除窗口標記。如果用戶取消選擇文件夾操作而沒有選擇文件夾操作,則他們會在第一個錯誤消息的頂部收到附加錯誤消息。它說PSsetwindowlevel,錯誤設置窗口級別(1000)。該應用程序不會崩潰。這些錯誤信息是我需要擔心的嗎?如果我問Google,我沒有收到很多搜索結果。無論如何,當用戶點擊一個按鈕來選擇一個文件夾時,會使用以下代碼。沙箱NSOpenPanel錯誤1000
- (IBAction)system1Selected:(id)sender {
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel setAllowsMultipleSelection:NO];
[panel setCanChooseDirectories:YES];
[panel setCanChooseFiles:NO];
NSString *currentpath = systempath1.stringValue;
if ([self fileExists:currentpath]) {
[panel setDirectoryURL:[NSURL fileURLWithPath:currentpath]];
} else {
[panel setDirectoryURL:[NSURL fileURLWithPath:[self filePathA]]];
}
if ([panel runModal] != NSFileHandlingPanelOKButton) {
//return nil;
} else {
NSURL *url = [[panel URLs] lastObject];
systempath1.stringValue = [url path];
}
}
謝謝您的建議。
如果我使用'try catch error',我將不會再有錯誤消息。但我不知道是否應該去找出錯誤的來源。 – 2013-05-13 04:44:08
'fileExists'是一個函數,它將返回一個布爾值來查明指定的文件或文件夾是否存在。 – 2013-05-13 04:46:00