OSX / Cocoa: настройка сервиса в меню для правого клика и списка сервисов - PullRequest
0 голосов
/ 01 октября 2011

Я следовал всей документации Apple по настройке службы для списка меню, вызываемого правой кнопкой мыши, и для списка служб:

  1. Я сделал все соответствующие записи в info.plist.(типы отправки, имя порта, заголовок меню, метод экземпляра и т. д.)
  2. Я создал метод, который обрабатывает службы.
  3. Я добавил код регистрации службы в приложение.
  4. Я собрал свое приложение, поместил его в каталог приложения, вышел из системы и вернулся обратно.

Несмотря на все это, я не вижу свой сервис ни в одном пункте меню.

РЕДАКТИРОВАТЬ** Вот часть службы моего info.plist:

    <key>NSServices</key>
<array>
    <dict>
        <key>NSMenuItem</key>
        <dict>
            <key>default</key>
            <string>MyApp/Send to MyApp</string>
        </dict>
        <key>NSMessage</key>
        <string>contentService</string>
        <key>NSPortName</key>
        <string>MyApp</string>
        <key>NSSendTypes</key>
        <array>
            <string>NSStringPboardType</string>
            <string>NSFileContentsPboardType</string>
        </array>
    </dict>
</array>

Что я делаю не так?заранее спасибо.

1 Ответ

5 голосов
/ 01 октября 2011

Я следовал всей документации Apple по настройке службы ...

Ах, вот в чем проблема: вы остановились там. Вам также необходимо добавить ключ NSRequiredContext к вашему сервису , чтобы включить его по умолчанию в Snow Leopard и более поздних версиях.

К счастью, хотя в документации по Службам не упоминается, что требуется NSRequiredContext, Справочник ключей информации о свойствах объясняет значение, которое вы должны предоставить для него .

...