带有.Trash文件夹的NSMetadataQuery不会带来任何结果

时间:2014-08-07 13:18:54

标签: cocoa

我试图实现一个使用NSMetadataQuery查找指定位置内对象的类。我尝试使用用户的“下载”文件夹和用户的.Trash文件夹。查询“下载”文件夹可以找到但是.Trash文件夹的查询总是返回0结果(尽管其中有文件)。

我正在创建一个价值为

的NSPredicate
((kMDItemDisplayName != \"*\"))

和搜索范围

/Users/xyz/.Trash

但这并不奏效。使用搜索范围

/Users/xyz/Downloads

工作正常。

我已经读过Spotlight可能会忽略不可见的文件。所以我用

创建了第二个谓词
kMDItemFSInvisible == YES

将两者合并到一个带有" AndPredicateType"的NSCompoundPredicate中。但是这也不起作用(既不起作用也不起作用;或者#34; OrPredicateType")。

有人有线索吗?

请注意:我使用Swift和Xcode 6 Beta 5,但我认为这并不重要。

修改

这一切的原因:我想找到指定文件夹中的所有项目。我可以使用NSFileManager ...但是从中检索文件信息很麻烦(在按文件检索属性文件时非常慢)。

1 个答案:

答案 0 :(得分:1)

根据Apple的文档,似乎无法使用NSMetadataQuery查询“废纸篓”文件夹:

  

注意:请务必记住,在OS X上,虽然文件系统元数据在所有卷上都可用,但其他元数据属性却不可用。 Spotlight没有索引CD,DVD,磁盘映像和系统目录