J'ai essayé d'obtenir NSServices de travail pour mon application récemment sans succès. Je l'ai configuré selon la documentation mais il n'apparaît pas dans le menu services (cependant il apparaît dans la section des raccourcis clavier des Préférences Système en tant qu'élément de menu de service) Quoi qu'il en soit, je mets le service dans mon contrôleur d'application comme ceci :NSServices ne fonctionne pas
[NSApp setServicesProvider:self];
La méthode exposée est:
- (void) addDownloadService:(NSPasteboard *)pboard
userData:(NSString *)userData error:(NSString **)error
Mon Info.plist ressemble alors à ceci:
<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 exécutez la commande de débogage avec TextEdit comme ceci: /Applications/TextEdit.app/Contents/MacOS/TextEdit -NSDebugServices com.companyname.MyApp
qui produit les éléments suivants: MyNewService (com.companyname.MyApp) est désactivé dans le menu des services et désactivé dans le menu contextuel, par la stratégie de services standard.
Quelqu'un a-t-il des idées pour lesquelles cela pourrait ne pas fonctionner?
Merci Colin