我试图实现一个使用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 ...但是从中检索文件信息很麻烦(在按文件检索属性文件时非常慢)。
答案 0 :(得分:1)
根据Apple的文档,似乎无法使用NSMetadataQuery查询“废纸篓”文件夹:
注意:请务必记住,在OS X上,虽然文件系统元数据在所有卷上都可用,但其他元数据属性却不可用。 Spotlight没有索引CD,DVD,磁盘映像和系统目录。