Пользовательский интерфейс 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"];