Applescript keystroke Sonoma

rinocérosse

Membre enregistré
20 Février 2024
3
0
70
Description du problème.



Dans le finder, je fais



Pomme n

Pomme Shift G

et dans le champ de saisie je colle le chemin /Users/phd/tmp/

puis Enter



ça marche : le Finder ouvre une fenêtre sur le dossier tmp.





Maintenant j’écris un script qui fait la même chose, avec un autre dossier que tmp.

Par exemple : /Users/phd/Documents/



on run



tell
application "Finder" to activate



tell
application "System Events"

keystroke "n" using {command down}

keystroke "g" using {command down, shift down}

keystroke "/Users/phd/Documents/"

delay 1

key code 36

delay 1



end tell

end
run





Je lance l’exécution : le script s’exécute mais au lieu de remplir le champ de saisie avec /Users/phd/Documents/,

l’ancienne valeur précédemment tapée à la main /Users/phd/tmp/ reste intacte et il ouvre une fenêtre sur tmp au lieu de Documents.



Ce script fonctionne correctement sous Mojave, et échoue sous Sonoma. Je peux tester cette différence de comportement, parce que j’ai deux MacBook, un sous Mojave et un sous Sonoma.
 
Bonsoir,
Si le but est d'ouvrir la fenêtre du dossier "document" alors écrit simplement:
Bloc de code:
tell application "Finder"
    open folder "documents" of home
end tell

Edit: dans ton code, à aucun moment tu colles le chemin !
Tu envoies un keystroke avec comme valeur de touche un chemin !!!!
donc il ne fait rien, puis tu envoies la touche entrée (36) qui s'exécute avec le chemin qui est en mémoire, (le dernier qui à été entré)
 
Dernière édition:
Non ! je suppose que sur ton ordi sous mojave, le dernier dossier que tu as ouvert avec le menu est documents, donc celui-ci est en mémoire.

Dans le finder , vas dans le menu, aller-->aller au dossier et regarde le chemin qui est écrit dans la fenêtre !

Edit: Après quelques essais ton script devrait fonctionner si tu ajoutes un delay de 1 seconde avant d'envoyer le keystroke avec le chemin:
Voilà le script avec la modif
Mais je pense que le plus simple est d'utiliser le script que je t'ai mis ci-dessus!
Bloc de code:
tell application "Finder" to activate

tell application "System Events"
    keystroke "n" using {command down}
    keystroke "g" using {command down, shift down}
    delay 1
    keystroke "/Users/phd/Documents/"
    delay 1
    key code 36
end tell
 
Dernière édition:
Effectivement, en ajoutant un delay, ça fonctionne très bien. Donc je suppose que la différence de comportement entre mes deux macbook ne vient pas de la différence d'OS (Mojave vs Sonoma), mais de la différence de puces (Intel vs M2) et donc de vitesse d'exécution ...
En tout cas merci beaucoup pour cette suggestion !!
 
Pardon d'interférer dans ce post ! Mais j'aimerai programmer (ou du moins essayer de programmer) avec applescript.
Et ce, pour des raccourcis ou plus pour iPhone et iPad. Mais le premier problème est que je ne possède pas de Mac, mais bien un PC windows.
Question: Est-ce je pourrai programmer avec Apple script sur ce PC windows.
Et comment transférer ce programme vers un iPhone ou iPad ?
Aussi: Est-il possible de programmer directement sur l'iPad (je possède un iPas Air 5e génération) ?
Merci d'avance et bonne soirée à tous.
N.B.: Je dois bien préciser que je suis nouveau chez Apple et que je patauger quelque peu dans mes demandes ci-dessus.
 
bonsoir,
Applescript est un langage de programmation qui est spécifique au MAC , pas à Iphone (IOS) ni à Ipad (IpadOS), et les scripts écrits ne fonctionnent que sur MacOS.
Pour Iphone et Ipad tu as la possibilité de faire quelques petits scripts Suite d'actions) avec l'application qui est fournis "Raccourcis".
 
J'ai assez bien fouillé sur internet. J'y ai vu SwiftUI qui ne semble fonctionner que sur un Mac (j'ai essayé de le télécharger sur l'iPad Air 5 mais il me dit que ce n'est pas comptable avec cet iPad) !
Donc, si je comprends bien, Swift n'est programmable que sur Mac pour faire des programmes pour iPhone. Mais est-ce également possible de faire des programmes pour iPad ?
Aussi, si je comprends bien, et j'en ai bien peur, on ne sait pas programmer directement sur un iPhone ou un iPad !
Et on ne saurait programmer directement sur iPhone ou iPad QUE du genre des photos visibles ici:
https://support.apple.com/fr-fr/guide/shortcuts/apdc11deb2c1/ios ?
mais seulement, comme vous dites ci-dessus, en utilisant Action (qui m'est absolument inconnue et que je ne sais ce qu'elle peut faire).
Voilà ! J'espère que j'ai bien interprété et un peu déçu de ne pouvoir programmer directement sur iPad.
Pourtant, je pensais qu'un iPad était un peu assimilé à un Mac et que l'on pouvait l'utiliser quelque peu comme un Mac.
Merci d'avance et très amicalement.
 
En attendant votre réponse, je vois qu'il existe swift playgrounds et que cette programmation fonctionne pour iPhone et iPad,
et que cette programmation se fait sur un iPad.
Est-ce bien vrai ou j'ai mal compris ?
Bien à vous.
 
Swift playground est un logiciel pour t'apprendre les bases du langage Swift.

Pour coder en swift, que ce soit pour une application iPhone, iPad ou MacOS, il te faudra passer par Xcode qui n'existe à ce jour que sur Mac.

En fonction de la complexité de ce que tu veux faire, tu peux aussi passer par l'application "Raccourcis" sur iOS (donc iPhone ou iPad). C'est beaucoup plus simple mais les possibilités sont plus limitées.