Reprendre un applescript dans Xcode4
Bonjour
•*MON PROJET description :
J'ai un applescript qui fonctionne bien. Ce script lit au travers d'un port USB du mac des données de sondes de températures extérieures au travers d'une carte ARDUINO.
Le script capture ses données et les enregistre dans un fichier texte à destination d'une application domotique.
Ceci fonctionne.
Mon problème est que mon script n'a aucune interface. Il se lance automatiquement à l'allumage du mac, mais je dois faire "FORCER A QUITTER" pour qu'il s'interrompe.
Je souhaite donc créer une interface (impossible avec applescript) pour :
1 - créer un menu Quitter
2 - récupérer les variables de mon script pour les afficher dans une fenêtre de visualisation . du type température de la chambre : (variable T_Chambre), température du bureau : (variable T_bureau) etc...)
Questions :
1 - Votre avis, est ce faisable
2 - j'ai vu que depuis la version 3.2.6 xcode, le bouton applescript à disparu, et je n'arrive pas à l'installer sur Lion (malgré quelques tutos qui propose une bidouille que je n'arrive pas à mettre en place). Donc est ce possible de réaliser mon projet sous xcode4.
J'ai pu voir que mon script fonctionne dans le contexte ci-dessous
(Thermo SCRIPT V1.10 étant le nom de mon script)
Code:
1 2 3 4 5 6 7 8
| - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[NSApp activateIgnoringOtherApps:YES];
NSString *path3 = [[NSBundle mainBundle] pathForResource:@"Thermo SCRIPT V1.10" ofType:@"scpt"];
NSAppleScript *script3 = [[NSAppleScript alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path3] error:nil];
[script3 executeAndReturnError:nil];
} |
mais dans ce cas le script semble "encapsulé" et je n'arrive pas à extraire les valeurs des variables.
Bref avant de poursuivre, j'ai besoin d'information d'ordre générale que je n'arrive pas à trouver sur le net (applescript et xcode4 c'est pauvre)
Bon voilà, j'espère avoir été clair, dans le cas contraire dite le moi je formulerai autrement.
Merci
Reprendre un applescript dans Xcode4
Bonjour Macbidule,
je suggère 2 pistes possibles pour résoudre ton problème :
1) Pour xCode 4, il faudrait essayer dans le terminal la commande suivante pour activer l'utilisation de la programmation en script :
defaults write com.apple.InterfaceBuilder3 IBEnableAppleScriptStudioSupport -bool YES
Cette commande fonctionne sans problème depuis la version 3 de xCode et sur Leopard et Snow Leopard. Je n'ai pas essayer personnellement sur Lion / xcode 4, mais je me souviens avoir vu un site qui confirmait que cela fonctionnait encore. Il se peut que tu doives changer ... InterfaceBuileder3 en interfaceBuilder4. il suffit de vérifier quel fichier existe dans ta version.
2) Il est peut être aussi possible d'éviter de passer par xCode. Je suis surpris que ton script ne se finisse pas correctement. En général, un script a un début et une fin, et peut donc se terminer (par exemple une fois les valeurs de température lues). Tu peux même le faire exécuter en tâche de fond à intervalles réguliers avec le CRON (voir application gratuite Cronnix).
Par exemple, dans cette application une tâche crée avec les valeurs (minutes = "0-59/3", heures "07-23" , commande "osascript /users/Bibule/monscript.scpt > /dev/null" te permet de lancer toutes les heures, entre 7h et 23h, toutes les 3 minutes, le script monscript.scpt enregistré à la racine de l'utilisateur Bibule.
Cordialement