2012-12-07 62 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的问题:) –