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

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

Я также пробовал вставить ключевое слово в имя скрипта, но Xcode копирует скрипт в имя файла перед выполнением, так что это тоже не сработает.

Так кто-нибудь знает способ вызвать пользовательский скрипт с каким-то аргументом? (кроме обычных переменных %%%var%%%)


Обновлено:

Пользовательские скрипты доступны через меню скриптов в строке меню Xcode (между меню Window и Help). Мой вопрос не о сценариях фазы сборки "run script". Приношу свои извинения за то, что оставил это несколько двусмысленным.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
842
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Пользовательские скрипты доступны через меню скриптов в строке меню Xcode (между меню Window и Help). Не знал, как еще их назвать. Я спрашиваю не о сценариях этапа сборки "run script".

Я полагаю, вы могли бы сделать что-то вроде этого:

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

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

Если вы заметили, вы просто вызываете апплескрипт, который они написали, используя статический путь. Вы можете написать свой собственный диалог applescript и разместить его там, если хотите, и обойти необходимость в громоздком синтаксисе osascript. Есть и другие (для файлов, папок, приложений и т. д.)

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

Другие вопросы по теме