J'ai écrit deux applescripts pour que ma femme puisse lancer mt-daapd et l'éteindre facilement. Ils fonctionnent correctement dans l'application Éditeur de scripts, mais lorsque je les compile dans des applications autonomes, les applications fonctionnent la première fois que je les teste. Puis ils m'embarrassent comme je les montre fièrement à ma femme. Je vois l'animation "ouverte" et ensuite ils restent assis là. J'ai créé d'autres applications autonomes auparavant et cela ne s'est pas produit.Comment diagnostiquer un Applescript compilé qui se ferme au démarrage?
J'ai essayé de changer le type d'application en un paquet (même problème). J'ai même essayé d'attacher à l'exécutable via gdb pour voir si je pouvais casser quelque chose de magique pour me dire ce qui se passait. J'ai regardé dans la console pour avoir des informations. Rien n'y était. Les scripts rirent au nez.
Comment résoudre ce problème?
J'ai inclus l'un des scripts ci-dessous; la seconde est à peu près la même chose. Je cours 10.5.8.
property userpassword : ""
if userpassword is "" then
display dialog "Please enter your user password:" default answer "" with hidden answer
set userpassword to text returned of result
set the_password to "Undefined"
repeat until the_password is "Correct"
try
do shell script "/opt/local/sbin/mt-daapd -c /etc/mt-daapd.conf" password userpassword with administrator privileges
set the_password to "Correct"
on error
display dialog "Sorry, the password entered was not correct. Please try again:" default answer "" with hidden answer
set userpassword to text returned of result
end try
end repeat
if the_password is "Correct" then
display dialog "Your music is being shared!" buttons {"Done"} default button "Done"
end if
end if
En AppleScript régulière, sont enregistrées toutes les variables globales avec le script. –