Как использовать действие «If» в Shortcuts на iPhone
Важно: в примерах с температурой приведено исходное значение 40°F (≈4°C). При необходимости локализуйте пороги в градусах Цельсия.

О чём эта статья
Это подробное практическое руководство по использованию скриптового действия “If” в приложении Shortcuts на iPhone. Вы узнаете:
- что такое действие “If” и зачем оно нужно;
- как настроить простое условие и как добавить несколько условий;
- как сочетать условия с другими действиями (погода, ориентация устройства, уровень заряда и т.д.);
- готовые идеи и шаблоны для повседневных сценариев;
- методику разработки, тестирования и приёмки надёжных ярлыков;
- когда “If” не подходит и какие есть альтернативы.
Что такое действие “If” в Shortcuts
Действие “If” — это скриптовое действие, предназначенное для ветвления выполнения ярлыка. Оно не получает данные само по себе, а сравнивает входные значения с условием и запускает одну из двух цепочек действий:
- блок под заголовком “If” (выполняется, если условие истинно),
- блок под заголовком “Otherwise” (выполняется, если условие ложно).
Кратко: если условие истинно — делаем A, иначе — делаем B. Для сложных сценариев можно вкладывать одно действие “If” в другое или использовать несколько последовательных “If”. Это позволяет реализовать множества ветвлений и комбинаций условий.
Термины:
- Условие — логическое выражение, например “Weather Conditions содержит ‘Rain’”.
- Вложение — когда один “If” находится внутри блока другого “If”.
Основные сценарии, где применяют “If”
- контекстные уведомления (захват погоды, местоположения, батареи);
- адаптация поведения приложений (запуск рабочих или домашних плейлистов);
- автоматизация на основе времени, режима Focus или ориентации устройства;
- упрощение интерфейса: один ярлык выполняет разные задачи в зависимости от условий.
Простой пример: один “If” для проверки погоды
В этом разделе шаг за шагом показано создание простого ярлыка, который проверяет текущую погоду и советует взять зонт, если условия содержат слово “Rain”.
- Откройте приложение Shortcuts и нажмите “+” в правом верхнем углу, чтобы создать новый ярлык.
- Нажмите “Search Actions”, введите “Get Current Weather” и выберите действие “Get Current Weather”.
- Нажмите “Search Actions” → введите “If” → добавьте действие “If”.
- По умолчанию действие может проверять дату. Нажмите на поле типа (например, “Date”) и выберите “Weather Conditions”.
- Нажмите на поле сравнения (по умолчанию “Is”) и выберите “Contains”.
- В поле для значения введите “Rain”.
- Нажмите “Search Actions”, найдите “Show Alert” и добавьте его под блоком “If”. В тексте сообщения напишите, например: “Возьмите зонт. Текущая погода: “ и выберите “Weather Conditions” рядом с клавиатурой, чтобы вставить текущее состояние.
- Скопируйте действие “Show Alert” и вставьте его в блок “Otherwise”. Измените текст на: “Зонт не нужен. Текущая погода: “ + “Weather Conditions”.
- Переименуйте ярлык и сохраните.
Результат: при выполнении ярлыка будет показано одно из двух сообщений в зависимости от того, содержит ли описание погоды слово “Rain”.

Несколько действий “If” для нескольких исходов
Если нужен третий или четвёртый исход, вы можете добавить ещё одно действие “If” внутри блока “Otherwise” предыдущего. Пример: после проверки “Rain” добавьте ещё один “If”, который ищет “Snow” и показывает отдельное сообщение.
Правило размещения: новые действия “If” помещайте под существующим блоком “Otherwise”, чтобы получить каскад проверок.
Множественные условия в одном действии
Действие “If” позволяет задать несколько условий одновременно и выбрать логику их объединения:
- Any (Любое) — сообщение отправится, если выполнено хотя бы одно условие.
- All (Все) — сообщение отправится только если выполнены все условия.
Пример: показывать совет надеть тёплую куртку, только если погодные условия содержат “Rain” и температура ниже 40°F (≈4°C).
Пошагово:
- Добавьте “Get Current Weather”.
- Добавьте “If” и настройте первое условие: “Weather Conditions” → “Contains” → “Rain”.
- Нажмите плюс внутри действия “If” → добавьте условие “Temperature” → “Is Less Than” → введите “40” (значение в ℉) — при желании укажите в тексте заметку о переводе в °C.
- Установите логику на “All”.
- В блоке “If” добавьте “Show Alert” с текстом: “Холодно и дождливо. Наденьте тёплую куртку.”.

Полезные приёмы и практики (хорошая практика)
- Всегда проверяйте тип входных данных. Если действие выдаёт значение типа “Number”, сравнивайте с числом; если “Text”, используйте “Contains” или регулярные совпадения.
- Для читаемости подписывайте шаги: переименуйте важные действия (тап по названию действия → Rename), чтобы быстро понять логику.
- Используйте «Show Result» или «Quick Look» для отладки промежуточных значений.
- При сложных вычислениях сохраняйте промежуточные значения в переменные с понятными именами.
Когда действие “If” может не подойти
- Если вам нужны десятки вариантов ответов с богатой логикой и быстрым выбором — лучше использовать “Choose from Menu”, где пользователь получает список вариантов.
- Для параллельных ветвей с одинаковыми шагами и небольшими отличиями может быть удобнее вынести общую логику в под-ярлык и вызывать его с параметрами.
- Для периодических автоматизаций на основе системных событий (например, изменение сети Wi‑Fi) используйте Automation в Shortcuts, где триггер срабатывает без запуска ярлыка вручную.
Альтернативные подходы
- Choose from Menu: удобен, когда требуется предложить пользователю набор действий вручную.
- Dictionary + Lookup: используйте словарь для отображения ключ→значение и Lookup для выбора ветви по ключу.
- Switch/Case (эмуляция): Shortcuts не имеет нативного Switch, но вы можете эмулировать его цепочкой «If» или через “Choose from List” и соответствующий обработчик.
- Под-ярлыки: вынесение повторяющейся логики в отдельный ярлык уменьшит дублирование.
Методика разработки надёжного ярлыка (мини-SOP)
- Сформулируйте цель ярлыка в 1 предложении.
- Определите необходимые входные данные (погода, местоположение, время, батарея и т.д.).
- На бумаге (или в заметке) нарисуйте ветвления: какие исходы должны быть и какие условия их вызывают.
- Реализуйте базовую ветвь (минимально работающее действие). Тестируйте.
- Добавляйте условия по одному, проверяя корректность работы после каждой модификации.
- Переименуйте шаги и добавьте комментарии в тексте действий, где нужно.
- Создайте тест-кейсы и прогоните их.
- Зафиксируйте версию и создайте резервную копию ярлыка (Export).
Роль‑ориентированные чек‑листы
Чек‑лист конечного пользователя (простые ярлыки):
- Ярлык выполняет одну основную задачу.
- Условия описаны понятно.
- Сообщения/уведомления корректны и локализованы.
- Ярлык не запрашивает лишние разрешения.
Чек‑лист продвинутого пользователя (много ветвей):
- Промежуточные переменные именованы ясно.
- Для сложных условий есть комментарии или пометки.
- Выполняется тестирование при разных входных данных.
- Структура не содержит дублирования: повторяющуюся логику вынесено в под-ярлык.
Чек‑лист для администратора/поддержки:
- Есть инструкция по восстановлению/экспорту ярлыка.
- Описаны зависимости (специфичные приложения, доступы к локации и т.д.).
- Указаны шаги отката к предыдущей версии.
Тесты и критерии приёмки
Критерии приёмки для ярлыка «Проверить погоду и советовать одежду»:
- Поведение: при условии, что “Weather Conditions” содержит “Rain” и температура < 40°F, показывается сообщение про тёплую куртку.
- Негативные случаи: если слово “Rain” отсутствует и температура ≥ 40°F, показывается сообщение, что куртка не нужна.
- Граничный случай: при температуре ровно 40°F проверить ожидаемое поведение (в зависимости от выбранного оператора).
- Локализация: сообщения отображаются на языке устройства и используют читаемые форматы величин (при необходимости — показывают обе единицы: °F и °C).
Тест‑кейсы:
- TC1: Weather Conditions = “Light Rain”, Temperature = 35°F → должно показаться сообщение о куртке.
- TC2: Weather Conditions = “Clear”, Temperature = 50°F → должно показаться сообщение, что куртка не нужна.
- TC3: Weather Conditions = “Cloudy”, Temperature = 40°F → проверить поведение в пограничном случае.
Примеры полезных ярлыков с “If”
- Открыть рабочие мессенджеры (Slack/Teams) если вы на рабочем месте; иначе запустить домашнюю плейлист.
- Читать расписание дня: утром читать события на сегодня, вечером — на завтра.
- На тренировке — запускать тренировочный плейлист, дома — любимую подборку.
- При приближении к магазину открывать список покупок; вне магазина — добавлять элементы в список.
- Включать подзарядку предупреждение: если батарея < 30% показывать напоминание о зарядке, иначе ничего не показывать.
Когда “If” ломается — типичные ошибки и их исправления
- Неправильный тип данных: ошибка проявляется как неверная проверка. Решение: добавьте “Get Details of” нужного действия и явно преобразуйте тип.
- Текстовые сравнения чувствительны к регистру или форматам: используйте “Lowercase” перед сравнением или применяйте логическое сравнение вместо прямого текста.
- Задержки ответов API (погода, внешний сервис): добавьте ожидание/таймаут или проверяйте, что данные не пустые, прежде чем сравнивать.
- Локализация: слова типа “Rain” в локализованной версии могут отличаться. Решение: проверяйте коды состояний погоды (если доступны) или используйте локализуемые наборы ключевых слов.
Decision‑flow для выбора логики в ярлыке (Mermaid)
flowchart TD
A[Начало: Запуск ярлыка] --> B{Нужны данные о погоде?}
B -- Да --> C[Get Current Weather]
B -- Нет --> D[Другие данные]
C --> E{Weather Conditions содержит 'Rain'?}
E -- Да --> F{Температура < 40°F?}
E -- Нет --> G[Обычное сообщение — зонт не нужен]
F -- Да --> H[Показать сообщение: холодно и дождливо]
F -- Нет --> I[Показать сообщение: дождливо, но тепло]
D --> J{Ориентация устройства важна?}
J -- Да --> K[Get Orientation]
J -- No --> L[Дальнейшие проверки]
H --> M[Конец]
I --> M
G --> M
K --> M
L --> MМеры безопасности и конфиденциальности
- Если ярлык использует местоположение, контакты или другие приватные данные, приложение будет запрашивать разрешения. Описывайте пользователю зачем нужен доступ.
- Не логируйте в публичные заметки или внешние сервисы чувствительные данные без явного согласия.
Советы по локализации для русскоязычных пользователей
- В текстах сообщений используйте понятные формулировки и привычные единицы измерения. Если вы опираетесь на пороги в °F, добавьте эквивалент в °C.
- Для проверки погодных условий лучше полагаться на коды состояний (если есть) или на набор ключевых слов на языке устройства, а не на жёсткие английские слова.
Идеи для расширения и автоматизации
- Комбинация условий: местоположение + время + Focus Mode — запускает разные сценарии для работы и отдыха.
- Интеграция с HomeKit: включение света дома при входе и соответствующих условиях (вечер, низкая яркость).
- Логирование событий: при каждом выполнении сохранять в Notes краткую запись — полезно для отладки и трассировки.
Краткое резюме
- Действие “If” — ключ к ветвлению логики в Shortcuts. Оно делает ярлыки контекстно-зависимыми и гибкими.
- Используйте простые сравнения для текстов и чисел, объединяйте условия с логикой “Any/All” для нужного поведения.
- По мере роста сложности выносите повторяющиеся части в под-ярлыки, тестируйте граничные случаи и документируйте зависимости.
В заключение: открывайте Shortcuts и экспериментируйте. Простая последовательность действий с несколькими проверками может заменить десятки ручных операций и сэкономить вам время в повседневных сценариях.
Дополнительные материалы и контрольные списки приведены выше. Следуйте методике разработки и тестирования перед тем, как доверить ярлыку регулярную автоматизацию задач.