Передача переключателей на пользовательские сценарии Xcode 3.1
Вопрос
У меня есть пользовательский скрипт, который был бы гораздо полезнее, если бы он мог динамически изменять некоторые элементы своего выполнения в зависимости от того, чего хочет пользователь.Передача простых переключателей легко решила бы эту проблему, но я не вижу способа сделать это.
Я также пробовал вставлять ключевое слово в имя скрипта, но Xcode перед выполнением копирует скрипт в имя файла, похожее на руководство, так что это тоже не сработает.
Итак, кто-нибудь знает способ вызвать пользовательский скрипт с каким-то аргументом?(кроме обычного %%%var%%%
переменные)
РЕДАКТИРОВАТЬ:
Пользовательские сценарии доступны через меню сценариев в строке меню Xcode (между меню «Окно» и «Справка»).Мой вопрос не касается сценариев фазы сборки «запуска сценария».Приношу извинения за то, что оставил это несколько двусмысленным.
Решение
Вы не можете передавать параметры пользовательским сценариям — вместо этого пользовательские сценарии работают в контексте, в котором вы работаете (например,выбранный файл, выделенный текст и т. д.).
Вы должны использовать контекст, чтобы определить, чего действительно хочет пользователь.
Другие советы
Пользовательские сценарии доступны через меню сценариев в строке меню Xcode (между меню «Окно» и «Справка»).Не был уверен, как еще их назвать.Я спрашиваю не о сценариях фазы сборки «запуска сценария».
Полагаю, вы могли бы сделать что-то вроде этого:
#!/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
Существуют встроенные служебные сценарии, которые позволяют запрашивать пользователя и получать ответ.
Например, вы можете запросить строку, а затем на ее основе выполнить определенную задачу.
Строковое приглашение:
STRING = `%%%{PBXUtilityScriptsPath}%%%/AskUserForStringDialog "DefaultString" "DefaultWindowName"`
Если вы заметили, вы просто вызываете написанный ими applescript, используя статический путь.Вы можете написать свой собственный диалог applescript и разместить его там, если хотите, и избежать необходимости использовать громоздкий синтаксис osascript.Есть и другие (для файлов, папок, приложений и т.д.)