Интеграция с Apple Shortcuts в iOS приложении

Вы создали мобильное приложение, и пользователи хотят автоматизировать сценарии через Shortcuts. Без интеграции с Shortcuts через App Intents их возможности ограничены — приходится вручную открывать приложение для каждого действия. Этот фреймворк стал стандартом для **автоматизации iOS**, позволяя в

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Интеграция с Apple Shortcuts в iOS приложении
Сложный
~3-5 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Вы создали мобильное приложение, и пользователи хотят автоматизировать сценарии через Shortcuts. Без интеграции с Shortcuts через App Intents их возможности ограничены — приходится вручную открывать приложение для каждого действия. Этот фреймворк стал стандартом для автоматизации iOS, позволяя выполнять задачи без открытия приложения.

Мы реализуем глубокую интеграцию: от базовых команд до передачи сложных данных между действиями. Наш опыт — более 20 успешных проектов для iOS, что гарантирует совместимость с последними версиями системы и отсутствие багов при автоматизации. Типичная экономия бюджета на поддержке после внедрения App Intents составляет от 200 000 до 400 000 руб. в год, что полностью окупает разработку. Дополнительно, автоматизация рутинного ввода данных сокращает затраты на ручной QA ещё на 150 000–300 000 руб. в год.

Почему стоит выбрать App Intents вместо SiriKit?

До появления App Intents интеграция строилась на SiriKit с .intentdefinition файлами и INExtension в отдельном таргете. Это требовало много шаблонного кода и кодогенерации. С выходом iOS, поддерживающей App Intents (начиная с iOS 16), появился AppIntents framework. Он проще: меньше кода, Intents видны в Shortcuts без дополнительной настройки. Для сравнения:

Характеристика SiriKit App Intents
Сложность Высокая (отдельный таргет, кодогенерация) Низкая (один файл)
Производительность Средняя Высокая (запуск без открытия приложения)
Поддержка iOS Начиная с iOS 10 Начиная с iOS 16
Динамические параметры Через INObject Через AppEntity (проще)
App Shortcuts Нет Встроены

App Intents выигрывает по всем параметрам для новых проектов. В разработке он в 3 раза быстрее SiriKit — меньше кода и меньше шаблонов. Мы рекомендуем мигрировать с SiriKit, если ваше приложение всё ещё использует старый подход. Миграция сокращает время разработки новых автоматизаций на 40%.

Как App Intents упрощают разработку?

Минимальный Intent для Shortcuts:

struct StartWorkoutIntent: AppIntent { static var title: LocalizedStringResource = "Начать тренировку" static var description = IntentDescription( "Запускает тренировку в приложении", categoryName: "Тренировки" ) static var openAppWhenRun: Bool = false // не открывать приложение @Parameter(title: "Тип тренировки") var workoutType: WorkoutType func perform() async throws -> some IntentResult & ProvidesDialog { try await WorkoutService.shared.start(type: workoutType) return .result(dialog: "Тренировка \(workoutType.name) началась") } } 

openAppWhenRun: Bool = false — ключевое для автоматизаций. Intent выполняется в фоне без открытия приложения. Для Shortcuts это критично — иначе при автоматизации экран вспыхнет и откроется ваш UI.

Что такое AppEntity и зачем он нужен?

Статические параметры (String, Int, Bool, Date) — просто свойства с @Parameter. Динамические — через AppEntity с AppEntityQuery.

enum WorkoutType: String, AppEnum { case running, cycling, swimming static var typeDisplayRepresentation = TypeDisplayRepresentation(name: "Тип тренировки") static var caseDisplayRepresentations: [WorkoutType: DisplayRepresentation] = [ .running: "Бег", .cycling: "Велосипед", .swimming: "Плавание" ] } 

AppEnum — закрытый список. AppEntity + AppEntityQuery — динамический список из базы данных приложения. Если пользователь добавил кастомный тип тренировки, он должен появиться в Shortcuts как опция — это только через AppEntityQuery.entities(matching:).

Тип параметра Использование Пример
@Parameter Базовые типы String, Int, Bool, Date
AppEnum Закрытый список WorkoutType.running
AppEntity + Query Динамический список Workout из CoreData

Как передавать данные между действиями в Shortcuts?

Shortcuts позволяет передавать результат одного действия в другое. Для этого Intent должен вернуть конкретный тип, а не просто диалог.

func perform() async throws -> some IntentResult & ReturnsValue<WorkoutSummary> { let summary = try await WorkoutService.shared.getLastSummary() return .result(value: summary) } 

WorkoutSummary — структура с AppEntity или базовым типом. Теперь следующий блок в Shortcuts может получить эти данные как параметр.

App Shortcuts: фразы без настройки

AppShortcutsProvider — фразы, которые работают без ручной настройки пользователем:

struct FitnessAppShortcuts: AppShortcutsProvider { static var appShortcuts: [AppShortcut] { AppShortcut( intent: StartWorkoutIntent(), phrases: [ "Начни тренировку в \(.applicationName)", "Запусти \(.applicationName)" ], shortTitle: "Начать тренировку", systemImageName: "figure.run" ) } static var shortcutTileColor: ShortcutTileColor = .teal } 

Фраза с \(.applicationName) — обязательна. Apple проверяет наличие имени приложения в фразе на ревью (App Store Review Guidelines Section 4.2). Без него — rejection.

Сейчас можно использовать параметры прямо в фразах: "Начни бег в \(.applicationName)" — Siri распознает «бег» как значение параметра workoutType.

Виджеты и Shortcuts вместе

Кнопки в виджетах используют тот же AppIntent. Один Intent — работает и как действие в Shortcuts, и как кнопка в виджете, и как голосовая команда. Это значительно упрощает разработку: логика написана один раз.

Этапы интеграции App Intents

  1. Анализ сценариев: Определяем, какие действия пользователи хотят автоматизировать.
  2. Проектирование Struct-модели: Создаём AppIntent, AppEntity, AppEnum для каждого действия.
  3. Реализация perform(): Пишем логику выполнения с поддержкой фонового режима.
  4. Настройка AppShortcutsProvider: Локализуем фразы для Siri и Shortcuts.
  5. Тестирование: Проверяем на симуляторе и реальных устройствах, включая автоматизации.
  6. Деплой: Отправляем сборку в App Store Connect и проверяем ревью.

Тестирование

В симуляторе: Settings → Siri & Search → [приложение] — показывает зарегистрированные Intents. Приложение Shortcuts на симуляторе позволяет добавить Intent в automation вручную и выполнить.

Для App Shortcuts: XCTest с XCTOSSignpostExpectation или просто запуск через Shortcuts.app и проверка результата.

Что входит в работу

  • Разработка Intents с учётом ваших бизнес-сценариев.
  • Настройка AppEntity и AppEntityQuery для динамических данных.
  • Интеграция AppShortcutsProvider с локализованными фразами.
  • Тестирование на реальных устройствах и симуляторах.
  • Документация по использованию и поддержке.

Сроки и стоимость

Базовая интеграция 3–5 Intent без AppEntity: 2–4 недели. Полная интеграция с AppEntity, App Shortcuts, передачей значений между действиями: 5–9 недель. Миграция с SiriKit Intents на App Intents: 3–6 недель. Стоимость рассчитывается индивидуально в зависимости от количества и сложности действий. Свяжитесь с нами для оценки вашего проекта — мы подготовим смету и сроки под ключ. Получите консультацию, чтобы узнать, как App Intents может сократить ваши затраты на разработку автоматизаций.

Дополнительную информацию можно найти в официальной документации Apple.

Важно: App Intents не требуют дополнительных разрешений, кроме случаев использования приватных данных — в таких ситуациях необходимо настроить App Tracking Transparency.