Développant mon commentaire ci-dessus....
Voir le commentaire de l'utilisateur kerma à l'adresse cet article connexe de StackFlow
Sa petite application en ligne de commande à https://github.com/kerma/defaultbrowser fait ce dont vous avez besoin.
Il a fourni le code source mais il a été conçu pour 10.9. Un petit changement peut le faire compiler sur 10.6 également. Je l'ai testé sur mon système et il a fonctionné correctement.
Tout ce que vous avez à faire est de l'exécuter comme ceci...
#defaultbrowser -set firefox
#defaultbrowser -set safari
Les modifications que j'ai apportées, pour qu'il fonctionne avec la 10.6, sont les suivantes
a) Ajouter le framework Cocoa
b) Apportez la modification suivante au code...
Remplacer
NSString *split = HTTPHandlers[i];
avec
NSString *split = [HTTPHandlers objectAtIndex:i];
EDIT :
Comme cela a été souligné, le code ne change pas le navigateur par défaut pour HTTPS. Pour ajouter cette fonctionnalité, j'ai ajouté les lignes suivantes...
Trouvez la première ligne ci-dessous, et ajoutez la seconde pour https
CFStringRef urlschemeref = ( CFStringRef)@"http";
CFStringRef urlschemeref2 = ( CFStringRef)@"https";
et la même chose ici
OSStatus s = LSSetDefaultHandlerForURLScheme(urlschemeref, newHandler);
OSStatus s2 = LSSetDefaultHandlerForURLScheme(urlschemeref2, newHandler);
Enfin changer
if (s == 0) {
à
if (s == 0 && s2 == 0) {
En ce qui concerne la programmation, puisqu'ils savent ce qu'est cron, je suppose qu'ils savent comment faire les changements nécessaires. Si ce n'est pas le cas, un recherche google fourniraient les réponses nécessaires. Donc les lignes cron seraient...
0 9 0 0 1-5 /path/to/app/defaultbrowser -set chrome
0 18 0 0 1-5 /path/to/app/defaultbrowser -set safari
MAIS, une meilleure solution, parce que les tâches cron ne s'exécutent pas lorsque le système est éteint, est d'avoir un moyen de détecter l'emplacement (comme la connexion wifi) et de changer en fonction de cela. Ainsi, si la tâche cron est réglée à 9 heures et que vous arrivez en retard au travail, vous mettez votre appareil sous tension à 9 h 15, rien ne se passera...
Donc, comme discuté ici Je leur recommanderais d'installer ControlPlane ou quelque chose de similaire, et de programmer le changement lors de la connexion au réseau/wifi.
J'espère que ça vous a aidé.