Frage

Ich habe ein Benutzerskript, das viel nützlicher wäre, wenn es einen Teil seiner Ausführung abhängig von den Wünschen des Benutzers dynamisch ändern könnte.Das Übergeben einfacher Schalter würde dieses Problem leicht lösen, aber ich sehe keine Möglichkeit, dies zu tun.

Ich habe auch versucht, ein Schlüsselwort in den Skriptnamen einzubetten, aber Xcode kopiert das Skript vor der Ausführung in einen Dateinamen, der wie eine Anleitung aussieht, sodass das auch nicht funktioniert.

Kennt jemand eine Möglichkeit, ein Benutzerskript mit einem Argument aufzurufen?(außer dem Normalen %%%var%%% Variablen)


BEARBEITEN:

Auf Benutzerskripte kann über das Skriptmenü in der Menüleiste von Xcode zugegriffen werden (zwischen den Menüs „Fenster“ und „Hilfe“).Meine Frage bezieht sich nicht auf Build-Phase-Skripte zum Ausführen von Skripten.Es tut mir leid, dass ich das etwas zweideutig gelassen habe.

War es hilfreich?

Lösung

Sie können keine Parameter an Benutzerskripte übergeben. Stattdessen arbeiten Benutzerskripte mit dem Kontext, in dem Sie arbeiten (z. B.die ausgewählte Datei, der ausgewählte Text usw.).

Sie sollten den Kontext nutzen, um festzustellen, was der Benutzer wirklich will.

Andere Tipps

Auf Benutzerskripte kann über das Skriptmenü in der Menüleiste von Xcode zugegriffen werden (zwischen den Menüs „Fenster“ und „Hilfe“).Ich war mir nicht sicher, wie ich sie sonst nennen sollte.Wonach ich frage, sind keine Build-Phase-Skripte zum Ausführen von Skripten.

Ich nehme an, Sie könnten so etwas tun:

#!/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

Es gibt integrierte Hilfsskripts, mit denen Sie den Benutzer auffordern und die Antwort erfassen können.

Sie könnten zum Beispiel nach einer Zeichenfolge fragen und dann darauf basierend eine bestimmte Aufgabe ausführen.

Die String-Eingabeaufforderung lautet:

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

Wenn Sie bemerken, rufen Sie lediglich ein Applescript auf, das sie unter Verwendung eines statischen Pfads geschrieben haben.Sie könnten Ihren eigenen Applescript-Dialog schreiben und ihn dort platzieren, wenn Sie möchten, und so die Notwendigkeit einer umständlichen Osascript-Syntax umgehen.Es gibt andere (für Dateien, Ordner, Anwendungen usw.)

Dokumentation zu Benutzerskripten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top