Alors que la plupart des fichiers sous OS X sont configurés pour s'ouvrir avec une application spécifique par défaut, les utilisateurs ont la possibilité d'utiliser un menu pratique «Ouvrir avec», accessible en cliquant avec le bouton droit de la souris (ou en maintenant la touche Contrôle enfoncée) sur un fichier. Cela permet aux utilisateurs de conserver une application par défaut pour afficher la plupart des fichiers, tout en ayant un accès rapide à une autre application compatible en cas de besoin. Un bon exemple consiste à configurer OS X pour qu'il ouvre par défaut les fichiers image avec Aperçu, mais que vous utilisiez le menu Ouvrir avec pour ouvrir l'image avec Photoshop afin d'effectuer des tâches d'édition.
Cependant, le menu Ouvrir avec peut parfois devenir incontrôlable. Les utilisateurs qui ont mis à niveau leurs applications au fil du temps peuvent trouver les anciennes versions référencées dans la liste, et ceux qui migrent leur installation OS X vers un nouveau lecteur peuvent voir des entrées en double.
Quelque chose de similaire s'est passé lorsque nous avons déplacé notre Mac de production TekRevue d'un iMac vers un Mac Pro. Nous avons migré nos données en clonant le lecteur de l'iMac sur le Mac Pro, ce qui a bien fonctionné, à l'exception des entrées dupliquées de toutes nos applications dans le menu Ouvrir avec.
Pour résoudre ce problème, nous devons réinitialiser la base de données LaunchServices de OS X. Comme pour la plupart des actions sous OS X, cette tâche peut être effectuée de différentes manières, mais la plus rapide consiste à utiliser simplement une commande Terminal.
Notre système de test fonctionne sous OS X Mavericks 10.9.1, mais ces instructions fonctionnent également avec OS X Lion et OS X Mountain Lion. Pour commencer, fermez toutes les applications ouvertes, puis lancez Terminal depuis Macintosh HD> Applications> Utilitaires . Copiez et collez la commande suivante à l'invite du terminal et appuyez sur la touche Retour pour l'exécuter:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain système -domain utilisateur
Le terminal semblera se figer pendant quelques instants pendant le traitement de la commande. Une fois que vous avez terminé, une nouvelle invite apparaît dans la fenêtre. Vous pouvez maintenant fermer Terminal et retourner sur votre bureau. Recherchez un fichier auquel vous devez accéder à l'aide du menu Ouvrir avec et vous verrez maintenant que la liste est nettoyée et que les entrées en double et obsolètes ont disparu.
Notez que nous n'avons pas eu à redémarrer notre Mac pour voir les résultats de la commande, mais si vous ne voyez pas de changement de votre côté, essayez de le redémarrer avant de recourir à d'autres méthodes.
Méthodes alternatives de reconstruction de LaunchServices
La méthode Terminal décrite ci-dessus est simple et ne nécessite peut-être même pas de redémarrage, mais il existe deux autres moyens de reconstruire LaunchServices si vous le souhaitez. La première consiste à utiliser une application appelée OnyX, qui peut effectuer et automatiser un certain nombre de tâches de maintenance OS X. Une fois que vous lancez OnyX, vous trouverez LaunchServices répertorié dans Maintenance> Reconstruire . Cochez simplement la case LaunchServices et appuyez sur Exécuter pour la reconstruire.
Une autre option consiste à supprimer manuellement le fichier de préférences LaunchServices. Quittez toutes les applications ouvertes et accédez à ~ / Library / Preferences . Recherchez com.apple.LaunchServices.plist, supprimez le fichier, puis redémarrez votre Mac. Cela devrait donner le même résultat que d'utiliser OnyX ou la commande Terminal ci-dessus.