2012-12-07 91 views
0

到處搜尋,但沒有發現在沙箱這樣的方式:最近的文檔

我怎樣才能在OSX中的所有新的文件(系統級)的列表?

回答

2

它們存儲在~/Library/Preferences/com.apple.recentitems.plist文件中。

您需要臨時授權com.apple.security.temporary-exception.files.home-relative-path.read-only = Library/Preferences

需要,因爲CFPrefs API無法手動讀取使用的NSDictionary plist中 - >它總是試圖在沙箱文件夾中打開PREF,你可以不特定的文件的路徑

+0

@ Daji-Djan蘋果允許這種做法嗎?訪問最近的文件是一個臨時的例外,有沒有人有幸?或者,有沒有像運行搜索查詢來查找所有「上次使用」文檔的方式? –

+0

很高興知道,我將刪除我的推測性答案。 –

+0

它是在個人的基礎上被允許的。在審覈之前,您必須說明爲什麼以及何時使用該例外。我很幸運,但它是一場賭博......無論如何,這是我知道的唯一方法:/甚至LSSharedFileList API(這更好,並且使它變得簡單:PEASY:D!)_fails in sandbox._ –

1

不包含涉及硬編碼路徑名的方式是使用LSSharedFileList。有問題的列表是kLSSharedFileListRecentDocumentItems

如果列表不完整或沙箱阻止訪問它,我推薦filing a bug

+1

噸的人已經提交了它..它基本上只是另一個包裝用戶默認的方式,它似乎並沒有得到修復很快:( –

+0

@ Daij-Djan:許多API是圍繞用戶默認或一些​​包裝其他文件訪問;這並不意味着你應該直接訪問用戶默認設置/相關文件 –

+0

不,你說得對,我是說這是我上面解釋的同樣的錯誤:)我不同意它將是IMO的適當方法 - 儘管可可編碼器也有這個API的問題:) –