Question

J'ai un script utilisateur qui serait beaucoup plus utile s'il pouvait modifier dynamiquement une partie de son exécution en fonction de ce que souhaitait l'utilisateur.Passer de simples commutateurs résoudrait facilement ce problème mais je ne vois aucun moyen de le faire.

J'ai également essayé d'intégrer un mot-clé dans le nom du script, mais Xcode copie le script dans un nom de fichier d'apparence guid avant l'exécution, donc cela ne fonctionnera pas non plus.

Alors, est-ce que quelqu'un connaît un moyen d'appeler un script utilisateur avec une sorte d'argument ?(autre que le normal %%%var%%% variables)


MODIFIER:

Les scripts utilisateur sont accessibles via le menu de script dans la barre de menus de Xcode (entre les menus Fenêtre et Aide).Ma question ne concerne pas les scripts de phase de construction « exécuter le script ».Mes excuses d'avoir laissé cela quelque peu ambigu.

Était-ce utile?

La solution

Vous ne pouvez pas transmettre de paramètres aux scripts utilisateur ; à la place, les scripts utilisateur fonctionnent sur le contexte dans lequel vous travaillez (par ex.le fichier sélectionné, le texte sélectionné, etc.).

Vous devez utiliser le contexte pour déterminer ce que l'utilisateur veut réellement.

Autres conseils

Les scripts utilisateur sont accessibles via le menu de script dans la barre de menus de Xcode (entre les menus Fenêtre et Aide).Je ne savais pas comment les appeler autrement.Ce que je demande, ce ne sont pas les scripts de phase de construction « exécuter le script ».

Je suppose que tu pourrais faire quelque chose comme ceci :

#!/bin/bash
result=$( osascript << END
tell app "System Events"
  set a to display dialog "What shall be the result?" default answer ""
end tell
return text returned of a
END
)
# do stuff with $result

Il existe des scripts utilitaires intégrés qui vous permettent d'inviter l'utilisateur et de capturer la réponse.

Vous pouvez par exemple demander une chaîne, puis, sur cette base, effectuer une certaine tâche.

L'invite de chaîne est :

STRING = `%%%{PBXUtilityScriptsPath}%%%/AskUserForStringDialog "DefaultString" "DefaultWindowName"`

Si vous le remarquez, vous appelez simplement un applescript qu'ils ont écrit en utilisant un chemin statique.Vous pouvez écrire votre propre boîte de dialogue Applescript et la placer là si vous le souhaitez et contourner le besoin d'une syntaxe osascript encombrante.Il en existe d'autres (pour les fichiers, dossiers, applications, etc.)

Documentation sur les scripts utilisateur

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top