Shortcut — scenariusz automatyzacji w aplikacji Shortcuts od Apple, łączący działania kilku aplikacji i usług bez pisania kodu. Shortcuts uruchamiane są głosem przez Siri, według harmonogramu, przy wejściu lub wyjściu ze strefy geolokalizacyjnej, po naciśnięciu widżetu lub dotknięciu znacznika NFC. Scenariusz tworzony jest wizualnie przez konstruktor Actions poprzez przeciąganie bloków. Więcej na Shortcuts User Guide.
Najważniejsze
Shortcut — sekwencja działań (Actions) połączonych w jeden scenariusz do automatyzacji zadań na iOS, iPadOS, macOS i watchOS. W przeciwieństwie do zwykłej aplikacji, Shortcut nie ma stałego interfejsu — wykonuje się w tle lub wyświetla szybkie okna dialogowe tylko do wprowadzania danych. Użytkownik tworzy scenariusz w aplikacji Shortcuts, łącząc bloki z galerii Actions, i uruchamia go jednym dotknięciem, głosem lub automatycznie za pomocą wyzwalacza.
Aplikacja Shortcuts — wbudowany konstruktor automatyzacji od Apple, dostępny na wszystkich urządzeniach z iOS 13+, iPadOS, macOS 12+ i watchOS. Biblioteka Actions zawiera ponad 300 wbudowanych bloków: systemowe (wyślij wiadomość, zadzwoń, otwórz aplikację), multimedialne (zdjęcia, muzyka, podcasty), internetowe (REST API przez Get Contents of URL), praca z plikami i dokumentami. Galeria zawiera gotowe scenariusze od Apple i społeczności — od wysłania ETA do kontaktu po masową zmianę nazw plików.
Biblioteka Actions jest uzupełniana przez aplikacje zewnętrzne za pomocą App Intents framework. Deweloper rejestruje intencje w Intents.intentdefinition i pojawiają się one w galerii Shortcuts automatycznie. Na przykład aplikacja Things 3 dodaje Actions „Utwórz zadanie" i „Pokaż dzisiejsze sprawy", a CARROT Weather — „Prognoza na dziś" z parametrami lokalizacji.
Shortcuts działa w piaskownicy iOS — scenariusz wykonuje się w procesie tła shortcuted z ograniczonymi uprawnieniami. Każdy Action to wywołanie predefiniowanego handlera, który otrzymuje parametry wejściowe, wykonuje operację i zwraca wynik. System przekazuje dane wyjściowe jednego Action na wejście następnego przez pipeline — użytkownik widzi to jako niebieskie punkty połączenia bloków w edytorze.
Przebieg wykonania Shortcut jest liniowy: Actions wykonują się kolejno od góry do dołu. Przejścia warunkowe realizowane są przez bloki If — system oblicza warunek i wykonuje odpowiednią gałąź. Dostępne są pętle Repeat (powtórz N razy), Repeat with Each (po elementach listy) i For Each. Błąd w jednym Action przerywa cały scenariusz, jeśli nie dodano bloku 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żdy handler Intents rejestrowany jest w Info.plist przez klucz INIntentsSupported. Przy uruchomieniu Shortcut przez Siri system znajduje odpowiedni IntentHandler i wykonuje go asynchronicznie. Odpowiedź zwracana jest w postaci obiektu INIntentResponse zawierającego status, wiadomość i opcjonalne dane do wyświetlenia użytkownikowi.
Tworzenie Shortcut rozpoczyna się od naciśnięcia „+" w galerii aplikacji Shortcuts. Użytkownik wybiera Actions z kategorii: Aplikacje, Scenariusze, Internet, Pliki, Zdrowie, Muzyka i inne. Każdy Action jest konfigurowany — pola wprowadzania, przełączniki, listy. Po złożeniu scenariusz testowany jest przyciskiem Play, a w przypadku błędów podświetlany jest problematyczny blok. Do publikacji Shortcut eksportowany jest do pliku .shortcut do wysyłki przez AirDrop lub iMessage.
Zmienne i magia Shortcuts obsługuje zmienne — dane wyjściowe jednego Action można przekazać do innego. Magiczne zmienne (Magic Variables) są określane automatycznie: jeśli poprzedni Action zwraca obraz, system proponuje go w parametrach następnego. Użytkownik może również tworzyć nazwane zmienne przez blok Set Variable i używać ich w dowolnym miejscu scenariusza.
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 — nowoczesny framework od Apple (iOS 16+, SwiftUI), który zastąpił Intents dla niestandardowych intencji. W przeciwieństwie do starego SiriKit, App Intents działa bez Objective-C runtime, obsługuje asynchroniczność przez async/await i automatycznie generuje dialogi dla Siri. Struct CreateTaskIntent oznaczany jest protokołem AppIntent, a parametry atrybutem @Parameter. Framework sam tworzy Action w galerii Shortcuts.
Wyzwalacze Shortcuts — warunki, przy których scenariusz uruchamia się automatycznie. Konfiguracja odbywa się na karcie Automation w aplikacji Shortcuts. Wyzwalacze dzielą się na osobiste (czas, lokalizacja, ładowanie), dotykowe (NFC, potrząsanie), systemowe (otwarcie aplikacji, tryb skupienia, podłączenie do CarPlay) i zdarzeniowe (otrzymanie emaila, wydarzenie w kalendarzu, powiadomienie). Dla każdego wyzwalacza można ustawić wykonanie natychmiastowe lub z potwierdzeniem.
| Wyzwalacz | Warunek uruchomienia | Przykład użycia |
|---|---|---|
| Czas | Określony czas, wschód/zachód słońca | Włącz tryb „Nie przeszkadzać" o 22:00 |
| Strefa geolokalizacyjna | Wejście lub wyjście z obszaru | Wyślij „Jadę do domu" przy wyjściu z pracy |
| NFC | Dotknięcie znacznika NFC | Uruchom scenariusz „Inteligentny dom" przy dotknięciu znacznika |
| Aplikacja | Otwarcie lub zamknięcie aplikacji | Przypomnij o wyłączeniu timera przy zamknięciu YouTube |
| Skupienie | Zmiana trybu Focus | Włącz ciemny motyw przy aktywacji Sleep Focus |
| Ładowanie | Podłączenie/odłączenie zasilania | Otwórz widżet ładowania przy podłączeniu MagSafe |
Automatyzacja — kluczowa możliwość Shortcuts, niedostępna zwykłym aplikacjom bez uprawnień deweloperskich. Użytkownik konfiguruje wyzwalacz raz i zapomina — scenariusz wykonuje się w tle bez udziału. Na przykład automatyzacja „Kiedy wracam do domu, włącz Wi-Fi i wyłącz tryb cichy" uruchamia się przy wejściu do strefy geolokalizacyjnej domu. System wymaga zgody na automatyzację przy pierwszej konfiguracji i może ją wyłączyć przy rzadkim użyciu.
Shortcuts na macOS — od macOS 12 Monterey Shortcuts stały się dostępne na Macu. Scenariusze synchronizują się przez iCloud między wszystkimi urządzeniami Apple. Na Macu obsługiwane są systemowe Actions Finder, Terminal, Automator i AppleScript. Deweloperzy macOS mogą dodawać Actions przez App Intents analogicznie do iOS.
App Intents — główny framework do integracji aplikacji z Shortcuts na iOS 16+ i macOS 13+. Deweloper tworzy struct implementującą protokół AppIntent, opisuje parametry przez property wrappers i implementuje metodę perform(). System automatycznie rejestruje intencję w Shortcuts, Siri i Spotlight. Dla wsparcia starszych wersji iOS (10–15) używany jest Intents framework z INIntent i IntentHandler.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
Testowanie App Intents — debugowanie intencji wykonuje się przez Xcode: wybierz schemat aplikacji, w Arguments przekaż -intents, a symulator zaproponuje listę zarejestrowanych intencji do testowania. Aby sprawdzić Shortcut w środowisku zbliżonym do rzeczywistego, zbuduj archiwum aplikacji i zainstaluj na urządzeniu przez TestFlight. Shortcuts z aplikacji pojawiają się w galerii po pierwszym uruchomieniu.
Zaawansowane możliwości App Intents obsługują parametry z autouzupełnianiem (dynamiczne options), potwierdzenie przed wykonaniem (confirmation), intencje dla Siri (voice shortcuts) i tworzenie widżetów z przyciskami uruchamiania. Indexed intents (iOS 17+) — intencje, które Siri proponuje użytkownikowi automatycznie na podstawie kontekstu: czasu, lokalizacji i historii działań.
Często zadawane pytania
Shortcut — to scenariusz łączący działania różnych aplikacji, a nie samodzielna aplikacja. Użytkownik nie pisze kodu, a składa scenariusz z gotowych bloków Actions. Shortcut uruchamiany jest przez wyzwalacz i wykonuje się bez otwierania aplikacji Shortcuts, podczas gdy zwykła aplikacja wymaga uruchomienia przez ikonę na ekranie.
Shortcuts obsługuje wyzwalacze: czas według harmonogramu, strefa geolokalizacyjna przy wejściu lub wyjściu z obszaru, znacznik NFC przy dotknięciu iPhone, otwarcie aplikacji, naciśnięcie widżetu, polecenie głosowe Siri, podłączenie ładowarki, tryb snu i skupienia Focus Mode, a także określone powiadomienia z aplikacji. Konfiguracja odbywa się na karcie Automation.
Tak, Shortcut eksportowany jest do pliku .shortcut i wysyłany przez AirDrop, iMessage lub publikowany w galerii Shortcuts przez iCloud. Odbiorca importuje scenariusz i może go używać. Przy pobieraniu z internetu iOS wymaga potwierdzenia i ostrzega o uruchamianiu niezweryfikowanych scenariuszy ze względu na potencjalne ryzyko bezpieczeństwa.
Aplikacje zewnętrzne dodają Actions przez App Intents framework na iOS 16+ lub Intents framework na starszych wersjach. Deweloper rejestruje działania w Intents.intentdefinition i pojawiają się one w galerii Actions aplikacji Shortcuts. Użytkownik łączy Actions różnych aplikacji — na przykład wysyła link z Safari do notatek Bear.
Nie, Shortcuts tworzone są wizualnie bez kodu. Użytkownik przeciąga bloki Actions z listy, konfiguruje parametry i łączy sekwencyjnie. Dla zaawansowanych scenariuszy dostępne są bloki Run Script Over SSH, Get Contents of URL i Control Flow If, Repeat, For Each, ale doświadczenie programistyczne nie jest wymagane.
Podsumowanie
Opracujemy aplikację mobilną pod klucz
IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.
Przeczytaj również