Пользовательский интерфейс Spotlight не может найти файлы внешних записей Core Data внутри Sandbox

Я следовал инструкциям по интеграции центра внимания в приложение Core Data без документов, используя индексирование на уровне записей. Импортер прожектора правильно импортирует файлы, и эти записи можно найти с помощью mdfind "some string",

Проблема в том, что пользовательский интерфейс прожектора - увеличительное стекло в правом верхнем углу - не показывает эти записи при работе внутри песочницы.

Файлы внешних записей создаются в ~/Library/Containers/[my app]/Data/Library/Caches/Metadata/CoreData/[my app]

Я делаю что-то неправильно?

1 ответ

Решение

Сравнивая результаты mdimport -d2 [external record file] показал это дополнительное свойство:

kMDItemSupportFileType =     (
    MDSystemFile
);

Настройка импортера прожектора для удаления этого ключа, кажется, исправляет это. Результаты теперь отображаются в пользовательском интерфейсе Spotlight. Я предполагаю, что это скрывает системные файлы от результатов.

[spotlightData removeObjectForKey:@"kMDItemSupportFileType"];
Другие вопросы по тегам