2011-11-25 3 views
0

В Snow Leopard по умолчанию отключены службы сторонних разработчиков. Есть ли способ сделать это программным путем? Я попытался с NSRequiredContext, а также путем редактирования программного обеспечения pbs.plist, как указано в следующем сообщении How do I automatically activate an item in the OS X Services Menu, NSServices not working, но его не работает для меня.Как включить сторонний сервис по умолчанию?

ответ

1

У меня возникли проблемы с тем, чтобы это работало и в моем приложении. При отладке попробуйте позвонить NSUpdateDynamicServices(), когда ваше приложение запустится и убедитесь, что вы регистрируете поставщика услуг. Проблема может заключаться в том, что ваша служба вообще не регистрируется. Вы можете использовать терминал, чтобы увидеть, какие услуги регистрируются /System/Library/CoreServices/pbs -dump_pboard

Пример службы:

<key>NSServices</key> 
    <array> 
     <dict> 
      <key>NSMenuItem</key> 
      <dict> 
       <key>default</key> 
       <string>Open with app</string> 
      </dict> 
      <key>NSMessage</key> 
      <string>processService</string> 
      <key>NSPortName</key> 
      <string>MyApp</string> 
      <key>NSRequiredContext</key> 
      <array> 
      </array> 
      <key>NSSendTypes</key> 
      <array> 
       <string>NSStringPboardType</string> 
       <string>NSRTFPBoardType</string> 
       <string>NSURLPBoardType</string> 
      </array> 
     </dict> 
    </array> 
+0

Я могу видеть мою службу в терминале, а также в настройках системы -> Клавиатура -> услуги. но по умолчанию он не проверяется. Я хочу включить его по умолчанию, как почтовая служба. –

+0

ОК. Я обновил сообщение, содержащее пример службы в моем приложении, которая включена по умолчанию. –

+0

он не работает с пустым NSRequiredContext. –

Смежные вопросы