Ich habe eine kleine Anwendung geschrieben und möchte anderen Anwendungen erlauben, Daten mit ihr zu teilen.
Meine erste Idee war, es in das Servicemenü zu integrieren. Ich benötige jedoch dynamisch gefüllte Untermenüs und die Apple-Entwicklungsseite für Systemdienste gibt an, dass seit 10.6 "keine Untermenüs im Menü "Dienste" vorhanden sind".
Gibt es Alternativen, um sich in das Kontextmenü anderer Anwendungen zu integrieren und Untermenüs zu haben?
Eine andere Alternative wäre, nur die Dienste der obersten Ebene verfügbar zu machen und es dann in die Verantwortung Ihrer App zu legen, die Auswahlmöglichkeiten des „Untermenüs“ anzuzeigen.
Dies hat den Vorteil, dass Sie die Kontrolle über Tastaturkürzel für die sekundären Auswahlmöglichkeiten haben. Der Benutzer erhält auch eine übersichtlichere Liste von Diensten.
Eine Alternative könnte das AppleScript-Menü sein. Es präsentiert alle Skripte im ~/Library/Scripts/
Ordner und behält die Hierarchie der Unterordner bei.
Themen:
Ein besserer Ort zum Fragen ist wahrscheinlich das Programmiererforum https://stackoverflow.com/questions/tagged/osx
Aber ohne weiteres denke ich, dass Sie ein paar verschiedene Varianten davon machen können, dass .app
jeder seine eigene Service-Aktion registriert. Diese Varianten könnten dann Ihre „Haupt“-App starten, um die schwere Arbeit zu erledigen.
Diese Varianten könnten in der Hauptanwendung gebündelt werden , wie ich hier einige Beispiele sehe:
/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 …
Ubuntudroid