Sottomenu per i servizi

2

Ho scritto una piccola applicazione e voglio consentire ad altre applicazioni di condividere dati con esso.

La mia prima idea era di integrarla nel menu di servizio. Tuttavia, ho bisogno di sottomenu popolati dinamicamente e la pagina di sviluppo di Apple per Servizi di sistema afferma che "Non ci sono sottomenu nel menu Servizi" dal 10.6.

Esistono alternative per l'integrazione nel menu di scelta rapida di altre applicazioni e con sottomenu?

    
posta ubuntudroid 20.01.2013 - 14:28
fonte

3 risposte

1

Un'altra alternativa sarebbe quella di esporre solo i servizi di primo livello, e quindi fare in modo che la tua app abbia la responsabilità di visualizzare le scelte del "sottomenu".

Ciò offre il vantaggio di metterti in controllo delle scorciatoie da tastiera per le scelte secondarie. L'utente ottiene anche un elenco più pulito di servizi.

    
risposta data 05.02.2013 - 18:30
fonte
1

Un'alternativa potrebbe essere il menu AppleScript. Presenta tutti gli script nella cartella ~/Library/Scripts/ e conserva la gerarchia delle sottocartelle.

Problemi:

  • Dovresti creare il supporto AppleScript nella tua app.
  • Dovresti creare una serie di AppleScript per esporre le tue funzionalità.
  • Il menu AppleScript è disabilitato per impostazione predefinita.
  • È un hack kludgy.
risposta data 05.02.2013 - 18:27
fonte
1

Un posto migliore dove chiedere è probabilmente il forum del programmatore link

Tuttavia, penso che tu possa creare alcune varianti diverse del tuo .app ciascuna che registra la propria azione di servizio. Queste varianti potrebbero quindi avviare la tua app "principale" per eseguire il sollevamento pesante.

Queste varianti potrebbero essere raggruppate all'interno dell'applicazione principale, come vedo alcuni esempi qui:

/Applications/Adium.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/finish_installation.app
/Applications/Android File Transfer.app/Contents/Frameworks/Breakpad.framework/Versions/A/Resources/crash_report_sender.app
/Applications/Android File Transfer.app/Contents/Resources/Android File Transfer Agent.app
/Applications/Android File Transfer.app/Contents/Resources/Android File Transfer Agent.app/Contents/Frameworks/Breakpad.framework/Versions/A/Resources/crash_report_sender.app
/Applications/Google Chrome Canary.app/Contents/Versions/26.0.1400.0/Google Chrome Framework.framework/Resources/app_mode_loader.app
/Applications/Google Chrome Canary.app/Contents/Versions/26.0.1400.0/Google Chrome Framework.framework/Resources/crash_report_sender.app
/Applications/Google Chrome Canary.app/Contents/Versions/26.0.1400.0/Google Chrome Helper EH.app
/Applications/Google Chrome Canary.app/Contents/Versions/26.0.1400.0/Google Chrome Helper NP.app
/Applications/Google Chrome Canary.app/Contents/Versions/26.0.1400.0/Google Chrome Helper.app
/Applications/Quicksilver.app/Contents/Resources/QSDroplet.app
/Applications/Stainless.app/Contents/Helpers/StainlessClient.app
/Applications/Firefox.app/Contents/MacOS/crashreporter.app
/Applications/Firefox.app/Contents/MacOS/plugin-container.app
/Applications/Firefox.app/Contents/MacOS/updater.app
/Applications/TextMate.app/Contents/SharedSupport/Bundles/ActionScript.tmbundle/Support/bin/XTrace.app
/Applications/TextMate.app/Contents/SharedSupport/Support/bin/CocoaDialog.app
/Applications/TextMate.app/Contents/SharedSupport/Support/bin/CommitWindow.app
/Applications/Xcode.app/Contents/Applications/Accessibility Inspector.app
/Applications/Xcode.app/Contents/Applications/Application Loader.app
/Applications/Xcode.app/Contents/Applications/FileMerge.app
/Applications/Xcode.app/Contents/Applications/Instruments.app
/Applications/Xcode.app/Contents/Applications/OpenGL ES Performance Detective.app
…
    
risposta data 02.02.2013 - 00:42
fonte

Leggi altre domande sui tag