Я написал импортер CoreData/Spotlight. Это всегда битва, даже в лучшие времена. Я написал свои документы перед этими документами и до того, как они написали демона, который записывает записи для вас. Когда команда CoreData сначала выполнила свою версию своего решения, у них было несколько критических ошибок, которые мешали мне использовать ее, поэтому я сообщил им об этом и переключился на свою, я надеюсь, что к настоящему времени они исправлены, но об этом нужно знать.
Другая вещь, которую нужно знать, - это то, что многие разработчики приложений (включая меня) нашли, что Spotlight импортирует записи CoreData на Mavericks, по-видимому, из-за изменений в песочнице. Об этом было широко известно, и я подал ошибку. Если вы находитесь на Mavericks, вы можете столкнуться с этой проблемой.
Но, debuggin:
Первое, что вы должны сделать, это добавить некоторые NSLogging к вашему импортеру, и проверьте консоль после внесения изменений в базу данных. Подождите, увидит ли какой-либо процесс, который начинается с ошибок «md» (метаданных), или если вы видите журналы, которые вы написали.
Также выполните man mdimport
и запустите mdimport из командной строки вашего плагина с одним из файлов записей. С параметром -g mdimport вы можете протестировать своего импортера везде, где он есть, а с -d4 вы получите много информации об отладке.
Вы также можете сделать mdimport -L
, чтобы узнать, если ваш импортер рассматривается системой.
В общем, вам нужно выяснить, работает ли ваш импортер или просто его сбой (путем запуска его непосредственно с помощью mdimporter). ⑵ система видит ваш импортер и признает, что он отвечает за заглушки с выбранным типом файла (mdimport -L) и ⑶ у вашего импортера есть разрешение на просмотр файлов записей (запуск вашего приложения и просмотр Консоли).
Что-то добавить сюда. Я принял ответ ниже. Но из-за отсутствия полноценного функционального демонстрационного приложения я действительно отказался отсюда. Любой, у кого есть какой-либо пример, добавьте ответ. – user134611