On en reviens à ce que nous disions plus haut: Problèmes d'autorisations.
J'ai pas encore pris le temps d'aller y voir de plus près mais j'ai fait l'essai suivant: Lancer par NSTask une appliAppleScript bidon avec seulement "return "Coucou" comme code: 1°) si l'appli est dans le Buddle des ressources elle n'est pas appelée et un beep retenti 2°) si l'appli est alleurs comme le dossier appli, elle est exécutée.
Ceci dit ça ne résout qu'à moitié le pb car: 1°) Le résultat est laid car même compilée pour rester en tache de fond et sans interface l'icone du "script-appli" apparait sur le doc. Si dans ton appli tu la lance toutes les 5 sec. et qu'on a cette icone bondissante toutes les 5 sec. c'est pa jojo
2°) je ne suis pas parvenu à récupérer le "coucou" qu'elle m'envoie ? Je m'y remettrait + tard si besoin
Si le script se lance toutes les 15 secondes, tu crois que c ça qui prend des ressources, je parle de la compilation de l'AS ?
Je ne connais pas trop AS ni la classe NSAppleScript, mais tu peux pas créer ta NSAS une seule fois, la compiler une seule fois avec: compileAndReturnError: puis l'exécuter toutes les 15 sec. ?
Bon je suis pas specialiste d'AS mais je sais lire les feuilles d'enregistrement : quand on sauve un AS pour la 1ere fois, on a le choix entre les formats "script", "application", "lot de script", "lot d'applications" et "texte". Il faut choisir "Application".
Ensuite, il faut cocher l'option "Rester en arrière plan" et la, c'est bon. En tout cas, chez moi, ca marche.
Si le script se lance toutes les 15 secondes, tu crois que c ça qui prend des ressources, je parle de la compilation de l'AS ?
Je ne connais pas trop AS ni la classe NSAppleScript, mais tu peux pas créer ta NSAS une seule fois, la compiler une seule fois avec: compileAndReturnError: puis l'exécuter toutes les 15 sec. ?
Bon je suis pas specialiste d'AS mais je sais lire les feuilles d'enregistrement : quand on sauve un AS pour la 1ere fois, on a le choix entre les formats "script", "application", "lot de script", "lot d'applications" et "texte". Il faut choisir "Application".
Ensuite, il faut cocher l'option "Rester en arrière plan" et la, c'est bon. En tout cas, chez moi, ca marche.
Oui mais même si tu coches rester en arrière plan t'as l'iconne qui polue le dock
bon, le readInBackgroundAndNotify est fait sur l'objet [[task standardOutput] fileHandleForReading] et l'objet de la notification est le fromTask... à première vue c'est le même objet mais bon... et supprime le [task release] s'il te plaà®t, pour tester
En fait, je ne comprends pas : on ne peut pas executer l'AS en utilisant la classe NSAppleScript ? Si tu trouve que cela prend trop de temps CPU, tu peut-être remplacer l'AS par un shell script. A voir.
J'ai un AS qui sera appelé toutes les minutes en gros ds un timer. Là , il était ds un fichier texte et compilé à chaque fois. Ce que je récupère dans cet appleScript ne peut pas être fait par un script shell.
Je voualsi essayer une NSTask pour voir si c'était plus rapide de lancer une app (mon script compilé en app). Je n'y arrive pas.
Sinon, l'idée de ClicCool me parait bonne : compiler au début et envoyer le script à chasque fois comme avant ds un AScriptDescriptor.
Réponses
J'ai interverti launch et addobserver, enlever le release et ma méthode chez moi s'appelle bien getData...
Toujours pareil.
C'est aussi une possibilité à ne pas oublier.
Non, non bien sûr, ça y est...
On en reviens à ce que nous disions plus haut: Problèmes d'autorisations.
J'ai pas encore pris le temps d'aller y voir de plus près mais j'ai fait l'essai suivant:
Lancer par NSTask une appliAppleScript bidon avec seulement "return "Coucou" comme code:
1°) si l'appli est dans le Buddle des ressources elle n'est pas appelée et un beep retenti
2°) si l'appli est alleurs comme le dossier appli, elle est exécutée.
Ceci dit ça ne résout qu'à moitié le pb car:
1°) Le résultat est laid car même compilée pour rester en tache de fond et sans interface l'icone du "script-appli" apparait sur le doc.
Si dans ton appli tu la lance toutes les 5 sec. et qu'on a cette icone bondissante toutes les 5 sec. c'est pa jojo
2°) je ne suis pas parvenu à récupérer le "coucou" qu'elle m'envoie ?
Je m'y remettrait + tard si besoin
Ah oui, donc même si ça marche, la solution ne sera pas élégante...
J'ai essayé de changer les droits de l'AS ds le bundle et ça change rien chez moi.
Si le script se lance toutes les 15 secondes, tu crois que c ça qui prend des ressources, je parle de la compilation de l'AS ?
Je ne connais pas trop AS ni la classe NSAppleScript, mais tu peux pas créer ta NSAS une seule fois, la compiler une seule fois avec: compileAndReturnError: puis l'exécuter toutes les 15 sec. ?
Ensuite, il faut cocher l'option "Rester en arrière plan" et la, c'est bon. En tout cas, chez moi, ca marche.
Je teste et te tiens au jus.
Oui mais même si tu coches rester en arrière plan t'as l'iconne qui polue le dock
Autant pour moi, je me suis trompe.
:)beta: :fouf):
Tu vois flou fouf ou net ? ;D ;D :P
@ClicCool
Je suis mort de rire.
J'ai un AS qui sera appelé toutes les minutes en gros ds un timer. Là , il était ds un fichier texte et compilé à chaque fois.
Ce que je récupère dans cet appleScript ne peut pas être fait par un script shell.
Je voualsi essayer une NSTask pour voir si c'était plus rapide de lancer une app (mon script compilé en app). Je n'y arrive pas.
Sinon, l'idée de ClicCool me parait bonne : compiler au début et envoyer le script à chasque fois comme avant ds un AScriptDescriptor.