Ich habe viel online gelesen über benutzerdefinierte URL-Handler / benutzerdefinierte Protokoll-Handler wie:
- Externe Anwendungen mit benutzerdefinierten Protokollen unter OSX starten
- OS X-URL-Handler zum Öffnen von Links zu lokalen Dateien
Ich habe erfahren, dass Sie dem System mitteilen können, dass ein bestimmtes Programm mit der Info.plist
Datei ein bestimmtes Schema / Protokoll verarbeiten kann:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Local File</string>
<key>CFBundleURLSchemes</key>
<array>
<string>local</string>
</array>
</dict>
</array>
<key>NSUIElement</key>
<true/>
Wenn es jedoch mehrere Anwendungen gibt, die denselben URL-Handler öffnen können, mailto:
wie geben Sie beispielsweise an, welchen das System verwenden soll?
Es gab einige Verweise auf Dienstprogramme wie das, More Internet preference pane
die auf der Website des Autors nicht mehr verfügbar zu sein scheinen. Ich habe es online von Googling gefunden, aber es scheint ein bisschen wackelig zu sein - wie es für eine ältere OSX geschrieben wurde - vielleicht Tiger.
Ich konnte keine Informationen zum Festlegen des URL-Handlers für Protokolle und benutzerdefinierte Protokolle finden. Ich gehe davon aus, dass es plist
irgendwo eine Datei gibt, die ich bearbeiten kann - oder gibt es vielleicht ein neueres, besseres Dienstprogramm, das gut mit Mountain Lion zusammenarbeitet?
Update Jul 2017: RCDefaultApp und
lstool
nicht mehr unter macOS 10.12 oder neuer lauffähig . Wir müssen eine neue Lösung finden.Bearbeiten März 2018
Ich habe SwiftDefaultApps gefunden , kann aber nicht testen, da ich noch nicht in High Sierra bin.
In Anlehnung an die vorherige Antwort können Sie, wenn Sie dies in der Befehlszeile tun
lstool
möchten, den Befehl verwenden, der den Kern von RCDefaultApp bildetRCDefaultApp.prefPane/Contents/Resources/lstool
.Die Verwendung ist unkompliziert:
quelle
lstool
Befehlszeilentool zeigt diesen Fehler an, wenn Sie versuchen, ihn auszuführen:objc[1049]: Objective-C garbage collection is no longer supported.
(lstool
Dies ist das interne Programm, das vom Einstellungsbereich von RCDefaultApp verwendet wird. Obwohl der Einstellungsbereich anscheinend funktioniert, glaube ich nicht, dass er etwas bewirken kann, da erlstool
defekt ist. )Auflisten der aktuellen Einstellungen für den LaunchServices-URL-Handler unter Apple OS X 10.10 (Yosemite):
quelle
Ich habe tatsächlich eine Anwendung geschrieben, die die Registrierung von benutzerdefinierten URL-Protokollen vereinfacht, wenn jemand interessiert ist. Es heißt LinCastor ( http://onflapp.wordpress.com/lincastor/ ). Handler können als AppleScript- oder Shell-Skript (das Perl, Python oder was auch immer sein kann) definiert werden.
quelle
Das Öffnen der Datei mit XCode funktioniert ganz einfach.
Das Verwenden des Befehls build in,
plutil
wie in der Antwort unter https://discussions.apple.com/thread/5815759 beschrieben , um zwischen dem Format xml1 oder binary1 zu konvertieren, funktioniert ähnlich.Keine Notwendigkeit für "fremde" Werkzeuge :-)
quelle
Sie können auch duti verwenden :
quelle
Ich habe gerade das alte More Internet unter El Capitan ausprobiert.
Es ist flippig und funktioniert nur, wenn Sie mit den Aufwärts- und Abwärtspfeiltasten das Protokoll auswählen und das APP-Symbol per Drag & Drop in das Fenster ziehen, um eine Änderung vorzunehmen.
Ich habe die Standardeinstellung von Safari auf Chrome geändert, und die Änderung ist hängen geblieben, sodass sie immer noch funktioniert.
quelle
Eine andere Möglichkeit, die aktuellen Einstellungen des LaunchServices-URL-Handlers mit Xcode unter Apple OS X 10.10+ (Yosemite) aufzulisten:
quelle