J'ai beaucoup lu en ligne sur les gestionnaires d'URL / protocoles personnalisés tels que:
- Lancement d'applications externes à l'aide de protocoles personnalisés sous OSX
- Gestionnaire d'URL OS X pour ouvrir des liens vers des fichiers locaux
Je comprends que vous pouvez dire au système qu’un programme particulier est capable de gérer un schéma / protocole donné avec le Info.plist
fichier:
<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/>
Mais s'il existe plusieurs applications capables d'ouvrir le même gestionnaire d'URL, par exemple, mailto:
comment spécifier celle que vous souhaitez que le système utilise?
Il y avait quelques références à des utilitaires comme le More Internet preference pane
qui ne semble plus être disponible sur le site de l'auteur. Je l'ai trouvé en ligne sur Google mais cela semble un peu fragile - comme si cela avait été écrit pour un ancien OSX - peut-être Tiger.
Je n'ai pas été en mesure de trouver d'informations sur la définition du gestionnaire d'URL pour les protocoles et les protocoles personnalisés. Je suppose qu'il y a un plist
fichier quelque part que je peux éditer - ou peut-être y a-t-il un utilitaire plus récent, meilleur qui fonctionne bien avec Mountain Lion?
Mise à jour juil 2017: RCDefaultApp et
lstool
ne fonctionne plus sous macOS 10.12 ou version ultérieure. Nous devrons trouver une nouvelle solution.Edit Mar 2018
J'ai trouvé SwiftDefaultApps mais je ne peux pas tester car je ne suis pas encore sur High Sierra.
Pour approfondir la réponse précédente, si vous souhaitez le faire sur la ligne de commande, vous pouvez utiliser la
lstool
commande, qui est le cœur de RCDefaultApp, située sousRCDefaultApp.prefPane/Contents/Resources/lstool
.Son utilisation est simple:
la source
lstool
outil de ligne de commande affiche cette erreur lorsque vous essayez de l'exécuter:objc[1049]: Objective-C garbage collection is no longer supported.
(lstool
est le programme interne utilisé par le volet de préférences RCDefaultApp. Bien que le volet de préférences semble fonctionner, je ne pense pas qu'il puisse rien faire car illstool
est cassé. )Liste des paramètres de gestionnaire d'URL LaunchServices actuels sur Apple OS X 10.10 (Yosemite):
la source
En fait, j'ai écrit une application simplifiant l'enregistrement de protocoles d'URL personnalisés, si cela vous intéresse. Il s’appelle LinCastor ( http://onflapp.wordpress.com/lincastor/ ). Les gestionnaires peuvent être définis en tant que script AppleScript ou shell (qui peut être perl, python ou autre).
la source
Ouvrir le fichier avec XCode fonctionne assez facilement.
L'utilisation de la commande
plutil
de construction décrite dans la réponse à l' adresse https://discussions.apple.com/thread/5815759 pour convertir le format xml1 ou binaire1 est similaire.Pas besoin d'outils 'extraterrestres' :-)
la source
Vous pouvez également utiliser duti :
la source
Je viens d'essayer l'ancien Internet Plus, sous El Capitan.
C'est funky et la seule façon dont cela fonctionne consiste à utiliser les touches fléchées haut et bas pour sélectionner le protocole, puis à glisser / déposer l'icône de l'application dans la fenêtre pour effectuer un changement.
J'ai remplacé Safari par défaut par Chrome et la modification est restée bloquée, de sorte que cela fonctionne toujours.
la source
Une autre façon de répertorier les paramètres actuels du gestionnaire d’URL LaunchServices avec Xcode sur Apple OS X 10.10+ (Yosemite):
la source