Shortcut: какво е, сценарии за автоматизация на iOS

Автор: IT Sectr Публикувано: 2026-02-15 Време за четене: 9 мин

Shortcut — сценарий за автоматизация в приложението Shortcuts на Apple, който свързва действията на няколко приложения и услуги без писане на код. Shortcuts се стартират с глас чрез Siri, по график, при влизане или излизане от геозона, чрез натискане на уиджет или докосване на NFC етикет. Сценарият се създава визуално чрез конструктора Actions чрез плъзгане на блокове. Повече — на Shortcuts User Guide.

Основни точки

  • Shortcut — сценарий за автоматизация, свързващ действията на приложения без код
  • Приложение Shortcuts — визуален конструктор с блокове Actions за iOS и iPadOS
  • Интеграция със Siri — Shortcuts се стартират с глас чрез фраза, зададена от потребителя
  • Тригери — време, геозона, NFC, уиджет, отваряне на приложение и режими на фокус
  • App Intents — рамка за добавяне на Actions на приложения на трети страни в Shortcuts

Какво е Shortcut — сценарий за автоматизация?

Shortcut — последователност от действия (Actions), обединени в един сценарий за автоматизиране на задачи на iOS, iPadOS, macOS и watchOS. За разлика от обикновено приложение, Shortcut няма постоянен интерфейс — той се изпълнява на заден план или показва бързи диалози само за въвеждане на данни. Потребителят създава сценария в приложението Shortcuts, комбинирайки блокове от галерията Actions, и го стартира с едно докосване, глас или автоматично чрез тригер.

Приложение Shortcuts — вграденият конструктор за автоматизация на Apple, достъпен на всички устройства с iOS 13+, iPadOS, macOS 12+ и watchOS. Библиотеката Actions включва над 300 вградени блока: системни (изпрати съобщение, обади се, отвори приложение), мултимедийни (снимка, музика, подкасти), интернет (REST API чрез Get Contents of URL), работа с файлове и документи. Галерията съдържа готови сценарии от Apple и общността — от изпращане на ETA на контакт до масово преименуване на файлове.

Библиотеката Actions се допълва от приложения на трети страни чрез App Intents framework. Разработчикът регистрира intent-и в Intents.intentdefinition и те автоматично се появяват в галерията Shortcuts. Например приложението Things 3 добавя Actions „Създай задача" и „Покажи днешните задачи", а CARROT Weather — „Прогноза за днес" с параметри за местоположение.

Как Shortcuts работят на iOS

Shortcuts работи в пясъчната среда на iOS — сценарият се изпълнява във фонов процес shortcuted с ограничени права. Всяко Action е извикване на предефиниран handler, който получава входни параметри, извършва операция и връща резултат. Системата предава изходните данни на едно Action на входа на следващото чрез pipeline — потребителят вижда това като сини точки за свързване на блоковете в редактора.

Поток на изпълнение на Shortcut е линеен: Actions се изпълняват последователно отгоре надолу. Условните преходи се реализират с блокове If — системата изчислява условието и изпълнява съответния клон. Налични са цикли Repeat (повтори N пъти), Repeat with Each (по елементи на списък) и For Each. Грешка в едно Action прекъсва целия сценарий, освен ако не е добавен блок Try/Catch.

swift
import Intents

class OrderCoffeeIntentHandler: NSObject, OrderCoffeeIntentHandling {
    func handle(intent: OrderCoffeeIntent,
                completion: @escaping (OrderCoffeeIntentResponse) -> Void) {
        let order = Order(coffee: intent.coffee, size: intent.size)
        placeOrder(order) { success in
            let response = success
                ? OrderCoffeeIntentResponse.success(coffee: intent.coffee)
                : OrderCoffeeIntentResponse.failure(error: "Order failed")
            completion(response)
        }
    }
}

Всеки Intents handler се регистрира в Info.plist чрез ключа INIntentsSupported. При стартиране на Shortcut чрез Siri системата намира подходящия IntentHandler и го изпълнява асинхронно. Отговорът се връща под формата на обект INIntentResponse, съдържащ статус, съобщение и опционални данни за показване на потребителя.

Създаване на сценарии в приложението Shortcuts

Създаване на Shortcut започва с натискане на „+" в галерията на приложението Shortcuts. Потребителят избира Actions от категории: Приложения, Сценарии, Интернет, Файлове, Здраве, Музика и други. Всяко Action се конфигурира — полета за въвеждане, превключватели, списъци. След сглобяване сценарият се тества с бутона Play, а при грешки се откроява проблемният блок. За публикуване Shortcut се експортира във файл .shortcut за изпращане чрез AirDrop или iMessage.

Променливи и магия Shortcuts поддържа променливи — изходните данни на едно Action могат да бъдат предадени на друго. Магическите променливи (Magic Variables) се определят автоматично: ако предишното Action връща изображение, системата го предлага в параметрите на следващото. Потребителят може също да създава именувани променливи чрез блок Set Variable и да ги използва навсякъде в сценария.

swift
import AppIntents

struct CreateTaskIntent: AppIntent {
    static var title: LocalizedStringResource = "Create Task"
    static var description = IntentDescription(
        "Creates a new task in your to-do list"
    )

    @Parameter(title: "Task Title")
    var taskTitle: String

    func perform() async throws -> some IntentResult {
        let task = TaskModel(title: taskTitle)
        try await Database.shared.save(task)
        return .result(dialog: "Task created")
    }
}

App Intents — модерна рамка от Apple (iOS 16+, SwiftUI), която замени Intents за персонализирани intent-и. За разлика от стария SiriKit, App Intents работи без Objective-C runtime, поддържа асинхронност чрез async/await и автоматично генерира диалози за Siri. Struct CreateTaskIntent се маркира с протокол AppIntent, а параметрите с атрибут @Parameter. Рамката сама създава Action в галерията Shortcuts.

Тригери за стартиране и интеграция със системата

Тригери на Shortcuts — условия, при които сценарият се стартира автоматично. Конфигурацията се извършва в раздела Automation в приложението Shortcuts. Тригерите се делят на лични (време, местоположение, зареждане), сензорни (NFC, разклащане), системни (отваряне на приложение, режим на фокус, свързване с CarPlay) и събитийни (получаване на имейл, календарно събитие, известие). За всеки тригер може да се зададе незабавно изпълнение или с потвърждение.

ТригерУсловие за стартиранеПример за използване
ВремеОпределено време, изгрев/залезВключване на режим „Не безпокойте" в 22:00
ГеозонаВлизане или излизане от зонаИзпращане „Прибирам се" при излизане от работа
NFCДокосване на NFC етикетСтартиране на сценарий „Умен дом" при докосване на етикет
ПриложениеОтваряне или затваряне на приложениеНапомняне за изключване на таймера при затваряне на YouTube
ФокусПромяна на режим FocusВключване на тъмна тема при активиране на Sleep Focus
ЗарежданеСвързване/изключване на захранванеОтваряне на уиджет за зареждане при свързване на MagSafe

Автоматизация — ключова възможност на Shortcuts, недостъпна за обикновени приложения без права на разработчик. Потребителят конфигурира тригера веднъж и забравя — сценарият се изпълнява на заден план без участие. Например автоматизацията „Когато се прибера вкъщи, включи Wi-Fi и изключи безшумния режим" се стартира при влизане в геозоната на дома. Системата изисква разрешение за автоматизация при първата конфигурация и може да я изключи при рядко използване.

Shortcuts на macOS — от macOS 12 Monterey Shortcuts станаха достъпни на Mac. Сценариите се синхронизират чрез iCloud между всички устройства на Apple. На Mac се поддържат системните Actions Finder, Terminal, Automator и AppleScript. Разработчиците на macOS могат да добавят Actions чрез App Intents аналогично на iOS.

App Intents и Intents framework за разработчици

App Intents — основната рамка за интеграция на приложение с Shortcuts на iOS 16+ и macOS 13+. Разработчикът създава struct, имплементиращ протокол AppIntent, описва параметри чрез property wrappers и имплементира метод perform(). Системата автоматично регистрира intent-а в Shortcuts, Siri и Spotlight. За поддръжка на стари версии на iOS (10–15) се използва Intents framework с INIntent и IntentHandler.

swift
import Intents

class IntentHandler: INExtension {
    override func handler(for intent: INIntent) -> AnyObject? {
        if intent is OrderCoffeeIntent {
            return OrderCoffeeIntentHandler()
        }
        return .none
    }
}

Тестване на App Intents — отстраняването на грешки в intent-ите се извършва чрез Xcode: изберете схемата на приложението, в Arguments предайте -intents и симулаторът ще предложи списък с регистрирани intent-и за тестване. За проверка на Shortcut в среда, близка до реалната, създайте архив на приложението и инсталирайте на устройство чрез TestFlight. Shortcuts от приложението се появяват в галерията след първото стартиране.

Разширени възможности App Intents поддържа параметри с автоматично довършване (динамични опции), потвърждение преди изпълнение (confirmation), intent-и за Siri (voice shortcuts) и създаване на уиджети с бутони за стартиране. Indexed intents (iOS 17+) — intent-и, които Siri автоматично предлага на потребителя въз основа на контекст: време, местоположение и история на действията.

Често задавани въпроси

Каква е разликата между Shortcut и обикновено приложение?

Shortcut — е сценарий, който свързва действията на различни приложения, а не самостоятелно приложение. Потребителят не пише код, а сглобява сценарий от готови блокове Actions. Shortcut се стартира от тригер и се изпълнява без отваряне на приложението Shortcuts, докато обикновеното приложение изисква стартиране чрез икона на екрана.

Какви тригери поддържа Shortcuts?

Shortcuts поддържа тригери: време по график, геозона при влизане или излизане от зона, NFC етикет при докосване на iPhone, отваряне на приложение, натискане на уиджет, гласова команда Siri, свързване на зарядно устройство, режим на сън и фокус Focus Mode, както и определени известия от приложения. Конфигурацията се извършва в раздела Automation.

Може ли Shortcut да се сподели с други потребители?

Да, Shortcut се експортира във файл .shortcut и се изпраща чрез AirDrop, iMessage или се публикува в галерията Shortcuts чрез iCloud. Получателят импортира сценария и може да го използва. При изтегляне от интернет iOS изисква потвърждение и предупреждава за стартиране на непроверени сценарии поради потенциални рискове за сигурността.

Как Shortcuts се интегрира с приложения на трети страни?

Приложенията на трети страни добавят Actions чрез App Intents framework на iOS 16+ или Intents framework на по-стари версии. Разработчикът регистрира действията в Intents.intentdefinition и те се появяват в галерията Actions на приложението Shortcuts. Потребителят комбинира Actions на различни приложения — например изпраща връзка от Safari в бележките Bear.

Необходимо ли е програмиране за създаване на Shortcuts?

Не, Shortcuts се създават визуално без код. Потребителят плъзга блокове Actions от списъка, конфигурира параметри и ги свързва последователно. За напреднали сценарии са налични блокове Run Script Over SSH, Get Contents of URL и Control Flow If, Repeat, For Each, но опит в програмирането не е задължителен.

Резюме

  • Shortcut — сценарий за автоматизация за iOS, iPadOS и macOS, сглобен от блокове Actions
  • Приложение Shortcuts — визуален конструктор с галерия от над 300 вградени Actions
  • Тригери — време, геозона, NFC, уиджет, фокус, зареждане — стартират сценария автоматично
  • Интеграция със Siri — Shortcuts се стартират с гласова команда без докосване на екрана
  • App Intents — рамка за iOS 16+, която добавя Actions на приложения на трети страни в Shortcuts
  • Magic Variables — автоматично прехвърляне на данни между Actions без ръчна конфигурация
  • iCloud синхронизация — сценариите са достъпни на всички устройства на Apple чрез iCloud

Ще разработим мобилно приложение под ключ

IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също