Индекс уровня внимания Spotlight с помощью Coredata

Я прочитал учебник по адресу https://developer.apple.com/library/mac/documentation/cocoa/Conceptual/SpotlightCoreData/Articles/recordLevel.html так много раз, что по какой-то причине я не могу его получить,

Я попытался создать импортер прожектора, вручную скопировав его в ~/Library/Spotlight без успеха.

Кто-нибудь может подсказать мне рабочий образец приложения CoreData-Spotlight-OSX? достаточно простой вещи.

Шаблон xcode default-сохраняет.importer в папке bundle-resources, в других местах я читал, что он должен находиться в папке Library / Spotlight, если приложение находится в "песочнице".

опять попробовал и потерпел неудачу.

Помогите!

1 ответ

Решение

Я написал импортер CoreData / Spotlight. Это всегда немного борьбы, даже в лучшие времена. Я написал свой перед этими документами и перед тем, как они написали демон, который выписывает записи для вас. Когда команда CoreData впервые сделала свою версию моего решения, у них было несколько критических ошибок, которые не позволили мне использовать его, поэтому я сообщил о них и переключился обратно на мою - надеюсь, к настоящему времени они исправлены, но об этом нужно знать.

Еще одна вещь, которую нужно знать, это то, что многие разработчики приложений (включая меня) обнаружили, что импорт записей CoreData в Spotlight не работает на Mavericks, по-видимому, из-за изменений в песочнице. Об этом широко сообщалось, и я подал ошибку. Если вы находитесь на Mavericks, вы можете столкнуться с этой проблемой.

Но для отладки:

Первое, что вы должны сделать, это добавить NSLogging к вашему импортеру и проверить консоль после внесения изменений в базу данных. Подождите, чтобы увидеть, если какой-либо процесс, который начинается с "md" (метаданные), сообщает об ошибках, или если вы видите журналы, которые вы написали.

Кроме того, сделать man mdimport и запустите mdimport из командной строки вашего плагина с одним из файлов записей. С опцией -g mdimport вы можете проверить ваш импортер, где бы он ни находился, а с -d4 вы получите много информации об отладке.

Вы также можете сделать mdimport -L чтобы увидеть, если ваш импортер рассматривается системой.

В общем, вам нужно выяснить ⑴ работает ли ваш импортер или он просто падает (запустив его напрямую с помощью mdimporter) ⑵ система видит вашего импортера и распознает, что отвечает за заглушки с выбранным вами типом файла (mdimport -L) и ⑶ имеет ли ваш импортер разрешение на просмотр файлов записей (запустив ваше приложение и просмотрев консоль).

Другие вопросы по тегам