1

Record-Level Indexingを使用して、Spotlight を非ドキュメント ベースの Core Data アプリケーションに統合する手順に従いました。Spotlight インポーターはファイルを正しくインポートし、それらのレコードは を使用して見つけることができますmdfind "some string"

問題は、スポットライト ユーザー インターフェイス (右上の虫眼鏡) が、サンドボックス内で実行しているときにこれらのレコードを表示しないことです。

外部レコード ファイルは次の場所に作成されます。~/Library/Containers/[my app]/Data/Library/Caches/Metadata/CoreData/[my app]

私は何か間違ったことをしていますか?

4

1 に答える 1

2

の結果を比較すると、mdimport -d2 [external record file]この追加のプロパティが示されました。

kMDItemSupportFileType =     (
    MDSystemFile
);

このキーを削除するようにスポットライト インポーターを調整すると、問題が解決するようです。結果がスポットライト UI に表示されるようになりました。結果からシステムファイルを隠していると思います。

[spotlightData removeObjectForKey:@"kMDItemSupportFileType"];
于 2012-06-17T20:33:23.000 に答える