2014-07-20 45 views
0

我啓用了沙箱,我想通過bookmarkDataWithOptions創建數據。 如果URL是由NSPanel創建的,可以很好地工作。但是,如果我不使用NSOpenPanel獲取URL,bookmarkDataWithOptions方法始終返回nil。爲什麼?沙箱:使用NSURL的bookmarkDataWithOptions方法獲取NSData,無NSOpenPanel

謝謝如果我想設置一個特殊的文件夾默認可以讀/寫,而無需使用NSOpenPanel。 我該怎麼辦?

謝謝

+0

這個特殊文件夾的路徑是什麼?如果它位於沙箱外部,則無法創建SSB。 –

回答

1

沙盒的主要特點是安全性。如果應用程序可以在沒有用戶許可的情況下讀取/寫入任意文件夾,則安全性將被破壞。

App Sandbox Design Guide國明確:在開放式用戶輸入的

•模擬和保存對話框: 如果您的應用程序依賴於編程操作打開或保存對話框,模擬或改變用戶輸入您的應用程序不適合沙盒。

實現類似功能的唯一方法是爲某個預設目錄(文檔,圖片,音樂等)添加讀/寫權利。有關更多文檔,請查看guide