2009-08-27 42 views
3

ファイルのパスにある文字列を検索するSpotlightクエリを作成しようとしています(ファイルの名前またはフォルダはに含まれています)。kMDItemPathの検索でSpotlightの結果が表示されない

NSPredicate *predicateTemplate = [NSPredicate predicateWithFormat: @"kMDItemPath like[wcd] $SEARCH"; 
[query setPredicate: 
    [predicateTemplate predicateWithSubstitutionVariables: 
     [NSDictionary dictionaryWithObject:searchingFor forKey:@"SEARCH"] 
    ] 
]; 
[query startQuery]; 

は、この常に1を、以下の場合にも、0の結果を返します。

NSPredicate *predicateTemplate = [NSPredicate predicateWithFormat: @"kMDItemDisplayName in[wcd] $SEARCH"; 

戻って1つの以上の結果。 MacOS X 10.5.8でこれをテストしています。ドキュメントquothが

答えて

6

kMDItemPath

ファイルへの完全なパス。この属性のこの値は取得できますが、クエリや検索結果のソートには使用できません。

Link

属性kMDItemPathがすでに見つかった項目のパスを取得するためにMDItemまたはNSMetadataItemのみを使用することができることを意味します。ファイルを見つけるために指定したクエリ述部内でMDQueryまたはNSMetadataQueryで使用することはできません。

関連する問題