Shortcut — scénář automatizace v aplikaci Shortcuts od Apple, který propojuje akce několika aplikací a služeb bez psaní kódu. Shortcuts se spouští hlasem přes Siri, podle plánu, při vstupu nebo výstupu z geozóny, stisknutím widgetu nebo dotykem NFC značky. Scénář se vytváří vizuálně pomocí konstruktoru Actions přetahováním bloků. Více — na Shortcuts User Guide.
Hlavní body
Shortcut — posloupnost akcí (Actions) spojených do jednoho scénáře pro automatizaci úloh na iOS, iPadOS, macOS a watchOS. Na rozdíl od běžné aplikace, Shortcut nemá stálé rozhraní — spouští se na pozadí nebo zobrazuje rychlé dialogy pouze pro vstup dat. Uživatel vytváří scénář v aplikaci Shortcuts kombinováním bloků z galerie Actions a spouští jej jedním dotykem, hlasem nebo automaticky pomocí spouštěče.
Aplikace Shortcuts — vestavěný konstruktor automatizace od Apple, dostupný na všech zařízeních s iOS 13+, iPadOS, macOS 12+ a watchOS. Knihovna Actions zahrnuje více než 300 vestavěných bloků: systémové (odeslat zprávu, zavolat, otevřít aplikaci), multimediální (foto, hudba, podcasty), internetové (REST API přes Get Contents of URL), práce se soubory a dokumenty. Galerie obsahuje hotové scénáře od Apple a komunity — od odeslání ETA kontaktu po hromadné přejmenování souborů.
Knihovna Actions je doplňována aplikacemi třetích stran prostřednictvím App Intents frameworku. Vývojář registruje intenty v Intents.intentdefinition a ty se automaticky objeví v galerii Shortcuts. Například aplikace Things 3 přidává Actions „Vytvořit úkol" a „Zobrazit dnešní úkoly", a CARROT Weather — „Předpověď na dnes" s parametry polohy.
Shortcuts funguje v sandboxu iOS — scénář se spouští na pozadí v procesu shortcuted s omezenými právy. Každý Action je volání předdefinovaného handleru, který přijímá vstupní parametry, provádí operaci a vrací výsledek. Systém předává výstupní data jednoho Action na vstup dalšího přes pipeline — uživatel to vidí jako modré spojovací body bloků v editoru.
Tok spuštění Shortcut je lineární: Actions se provádějí postupně shora dolů. Podmíněné přechody jsou realizovány bloky If — systém vyhodnotí podmínku a provede odpovídající větev. Dostupné jsou smyčky Repeat (opakovat N-krát), Repeat with Each (po prvcích seznamu) a For Each. Chyba v jednom Action přeruší celý scénář, pokud není přidán blok Try/Catch.
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)
}
}
}
Každý handler Intents je registrován v Info.plist prostřednictvím klíče INIntentsSupported. Při spuštění Shortcut přes Siri systém najde příslušný IntentHandler a provede jej asynchronně. Odpověď je vrácena jako objekt INIntentResponse obsahující stav, zprávu a volitelná data pro zobrazení uživateli.
Vytvoření Shortcut začíná stisknutím „+" v galerii aplikace Shortcuts. Uživatel vybírá Actions z kategorií: Aplikace, Scénáře, Internet, Soubory, Zdraví, Hudba a další. Každý Action se konfiguruje — vstupní pole, přepínače, seznamy. Po sestavení se scénář testuje tlačítkem Play a při chybách se zvýrazní problémový blok. Pro publikaci se Shortcut exportuje do souboru .shortcut pro odeslání přes AirDrop nebo iMessage.
Proměnné a magie Shortcuts podporuje proměnné — výstupní data jednoho Action lze předat dalšímu. Magické proměnné (Magic Variables) jsou určovány automaticky: pokud předchozí Action vrací obrázek, systém jej nabídne v parametrech následujícího. Uživatel může také vytvářet pojmenované proměnné pomocí bloku Set Variable a používat je kdekoli ve scénáři.
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 — moderní framework od Apple (iOS 16+, SwiftUI), který nahradil Intents pro vlastní intenty. Na rozdíl od starého SiriKit, App Intents funguje bez Objective-C runtime, podporuje asynchronnost pomocí async/await a automaticky generuje dialogy pro Siri. Struct CreateTaskIntent je označena protokolem AppIntent a parametry atributem @Parameter. Framework sám vytvoří Action v galerii Shortcuts.
Spouštěče Shortcuts — podmínky, při kterých se scénář spouští automaticky. Konfigurace probíhá na kartě Automation v aplikaci Shortcuts. Spouštěče se dělí na osobní (čas, poloha, nabíjení), dotykové (NFC, zatřesení), systémové (otevření aplikace, režim soustředění, připojení k CarPlay) a událostní (příjem emailu, kalendářová událost, upozornění). Pro každý spouštěč lze nastavit okamžité spuštění nebo s potvrzením.
| Spouštěč | Podmínka spuštění | Příklad použití |
|---|---|---|
| Čas | Konkrétní čas, východ/západ slunce | Zapnout režim „Nerušit" ve 22:00 |
| Geozóna | Vstup nebo výstup z oblasti | Odeslat „Jedu domů" při odchodu z práce |
| NFC | Dotyk NFC značky | Spustit scénář „Chytrá domácnost" při dotyku značky |
| Aplikace | Otevření nebo zavření aplikace | Připomenout vypnutí časovače při zavření YouTube |
| Soustředění | Změna režimu Focus | Zapnout tmavý motiv při aktivaci Sleep Focus |
| Nabíjení | Připojení/odpojení napájení | Otevřít widget nabíjení při připojení MagSafe |
Automatizace — klíčová možnost Shortcuts, nedostupná běžným aplikacím bez vývojářských práv. Uživatel nastaví spouštěč jednou a zapomene — scénář běží na pozadí bez účasti. Například automatizace „Když přijdu domů, zapni Wi-Fi a vypni tichý režim" se spustí při vstupu do geozóny domova. Systém vyžaduje povolení pro automatizaci při prvním nastavení a může ji vypnout při vzácném používání.
Shortcuts na macOS — od macOS 12 Monterey jsou Shortcuts dostupné na Macu. Scénáře se synchronizují přes iCloud mezi všemi zařízeními Apple. Na Macu jsou podporovány systémové Actions Finder, Terminal, Automator a AppleScript. Vývojáři macOS mohou přidávat Actions prostřednictvím App Intents podobně jako na iOS.
App Intents — hlavní framework pro integraci aplikace s Shortcuts na iOS 16+ a macOS 13+. Vývojář vytvoří struct implementující protokol AppIntent, popíše parametry pomocí property wrappers a implementuje metodu perform(). Systém automaticky registruje intent v Shortcuts, Siri a Spotlight. Pro podporu starších verzí iOS (10–15) se používá Intents framework s INIntent a IntentHandler.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
Testování App Intents — ladění intentů se provádí přes Xcode: vyberte schéma aplikace, v Arguments předejte -intents a simulátor nabídne seznam registrovaných intentů k testování. Pro kontrolu Shortcut v prostředí blízkém reálnému, sestavte archiv aplikace a nainstalujte na zařízení přes TestFlight. Shortcuts z aplikace se objeví v galerii po prvním spuštění.
Pokročilé možnosti App Intents podporuje parametry s automatickým doplňováním (dynamické možnosti), potvrzení před provedením (confirmation), intenty pro Siri (voice shortcuts) a vytváření widgetů s tlačítky spuštění. Indexed intents (iOS 17+) — intenty, které Siri automaticky navrhuje uživateli na základě kontextu: času, polohy a historie akcí.
Často kladené otázky
Shortcut — je scénář propojující akce různých aplikací, nikoli samostatná aplikace. Uživatel nepíše kód, ale sestavuje scénář z hotových bloků Actions. Shortcut se spouští spouštěčem a provádí se bez otevření aplikace Shortcuts, zatímco běžná aplikace vyžaduje spuštění přes ikonu na obrazovce.
Shortcuts podporuje spouštěče: čas podle plánu, geozóna při vstupu nebo výstupu z oblasti, NFC značka při dotyku iPhone, otevření aplikace, stisknutí widgetu, hlasový příkaz Siri, připojení nabíječky, režim spánku a Focus Mode, a také určitá upozornění z aplikací. Konfigurace probíhá na kartě Automation.
Ano, Shortcut se exportuje do souboru .shortcut a odesílá přes AirDrop, iMessage nebo publikuje v galerii Shortcuts přes iCloud. Příjemce importuje scénář a může jej používat. Při stahování z internetu iOS vyžaduje potvrzení a varuje před spouštěním neověřených scénářů kvůli potenciálním bezpečnostním rizikům.
Aplikace třetích stran přidávají Actions prostřednictvím App Intents frameworku na iOS 16+ nebo Intents frameworku na starších verzích. Vývojář registruje akce v Intents.intentdefinition a ty se objeví v galerii Actions aplikace Shortcuts. Uživatel kombinuje Actions různých aplikací — například odesílá odkaz ze Safari do poznámek Bear.
Ne, Shortcuts se vytvářejí vizuálně bez kódu. Uživatel přetahuje bloky Actions ze seznamu, konfiguruje parametry a spojuje je sekvenčně. Pro pokročilé scénáře jsou k dispozici bloky Run Script Over SSH, Get Contents of URL a Control Flow If, Repeat, For Each, ale programátorské zkušenosti nejsou povinné.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také