2013-05-13 87 views
0

我幾乎準備好發佈第一個支持沙箱的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]; 
    } 
} 

謝謝您的建議。

+0

如果我使用'try catch error',我將不會再有錯誤消息。但我不知道是否應該去找出錯誤的來源。 – 2013-05-13 04:44:08

+0

'fileExists'是一個函數,它將返回一個布爾值來查明指定的文件或文件夾是否存在。 – 2013-05-13 04:46:00

回答

1

此錯誤在我的所有應用程序中都存在一段時間。這似乎不需要擔心。它消失了,沒有改變任何東西,可能它取決於NSOpenPanel的錯誤(我沒有設法使用NSSavePanel獲得相同的錯誤)。

在我看來,沒有必要進一步調查。

+0

我明白了。非常感謝您的確認。 – 2013-05-13 11:59:00