我在App Store中有一個Mac應用程序,並且正在尋求在沙箱成爲強制性要求之前採用沙箱。我碰到兩個問題,並希望能在這裏發表了一些見解最好的做法,在以下幾種情況:OS X沙盒問題
- 在我的應用程序使用NSOpenPanel提示用戶加載一個專有的文件格式。加載文件後,我的應用程序將解析它並收集NSURL到本地文件的列表。這些本地文件然後傳遞給NSImage的initWithContentsOfURL:方法。不幸的是,加載圖像文件的行爲會導致沙箱取消操作。我知道發生這種情況是因爲用戶已經給我的應用程序顯式權限來打開由NSOpenPanel選擇的文件,但不是用於我的專有格式中引用的文件。我該如何處理這個(據說相當普遍)的情況?
- 我有一個unix可執行文件包含在我的應用程序捆綁包中,我想使用NSTask執行。考慮到腳本包含在我的包中,這在沙盒中是合法的嗎?
如果有人可以澄清以上幾點,那將不勝感激。