Передача переключателей на пользовательские сценарии Xcode 3.1

StackOverflow https://stackoverflow.com/questions/47483

Вопрос

У меня есть пользовательский скрипт, который был бы гораздо полезнее, если бы он мог динамически изменять некоторые элементы своего выполнения в зависимости от того, чего хочет пользователь.Передача простых переключателей легко решила бы эту проблему, но я не вижу способа сделать это.

Я также пробовал вставлять ключевое слово в имя скрипта, но 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.Есть и другие (для файлов, папок, приложений и т.д.)

Документация по пользовательским сценариям

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top