2014-01-27 6 views
1

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

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

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

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

еще раз, попробовал & не удалось.

помощь!

+0

Что-то добавить сюда. Я принял ответ ниже. Но из-за отсутствия полноценного функционального демонстрационного приложения я действительно отказался отсюда. Любой, у кого есть какой-либо пример, добавьте ответ. – user134611

ответ

2

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

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

Но, debuggin:

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

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

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

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

+0

Спасибо, что ответили, мне нужно откопать в отладку. OSX - это своего рода новая среда для меня. Возможно, поэтому его немного запутывает, не видя при этом пример демонстрационного кода. Я вернусь с более родственными q. – user134611