He intentado que NSServices funcione para mi aplicación recientemente sin éxito. Lo configuré de acuerdo con la documentación, pero no aparece en el menú de servicios (sin embargo, aparece en la sección de accesos directos de teclado de las Preferencias del sistema como un elemento del menú de servicio) De todos modos configuro el servicio en mi controlador de aplicación como este :NSServices no funciona
[NSApp setServicesProvider:self];
El método expuesto es:
- (void) addDownloadService:(NSPasteboard *)pboard
userData:(NSString *)userData error:(NSString **)error
Mi Info.plist continuación, se ve así:
<key>NSServices</key>
<array>
<dict>
<key>NSReturnTypes</key>
<array>
<string></string>
</array>
<key>NSKeyEquivalent</key>
<dict>
<key>English</key>
<string>S</string>
<key>Key equivalent (with command and shift)</key>
<string>S</string>
</dict>
<key>NSSendTypes</key>
<array>
<string>NSStringPboardType</string>
<string>NSURLPboardType</string>
<string>NSRTFPboardType</string>
</array>
<key>NSPortName</key>
<string>MyApp</string>
<key>NSMessage</key>
<string>addDownloadService</string>
<key>NSMenuItem</key>
<dict>
<key>English</key>
<string>MyNewService</string>
<key>default</key>
<string> MyNewService </string>
</dict>
</dict>
</array>
I tri ed ejecutando el comando de depuración con textedit así: /Applications/TextEdit.app/Contents/MacOS/TextEdit -NSDebugServices com.companyname.MyApp
que emite el siguiente: MyNewService (com.companyname.MyApp) está desactivada en el menú de servicios y deshabilitado en el menú contextual, por la política de Servicios estándar.
¿Alguien alguna idea de por qué podría no estar funcionando?
Gracias Colin