Shortcut — ett automatiseringsscenario i Apples Shortcuts-app som kopplar samman åtgärder från flera appar och tjänster utan att skriva kod. Shortcuts startas med röst via Siri, enligt schema, vid in- eller utträde ur en geozon, genom att trycka på en widget eller vidröra en NFC-tagg. Scenariot skapas visuellt via Actions-konstruktören genom att dra block. Mer — på Shortcuts User Guide.
Huvudpunkter
Shortcut — en sekvens av åtgärder (Actions) samlade i ett scenario för att automatisera uppgifter på iOS, iPadOS, macOS och watchOS. Till skillnad från en vanlig app har Shortcut inget permanent gränssnitt — det körs i bakgrunden eller visar snabbdialoger endast för datainmatning. Användaren skapar scenariot i Shortcuts-appen genom att kombinera block från Actions-galleriet och startar det med en tryckning, röst eller automatiskt via en trigger.
Shortcuts-appen — Apples inbyggda automatiseringskonstruktor, tillgänglig på alla enheter med iOS 13+, iPadOS, macOS 12+ och watchOS. Actions-biblioteket innehåller över 300 inbyggda block: system (skicka meddelande, ring, öppna app), multimedia (foto, musik, podcast), internet (REST API via Get Contents of URL), arbete med filer och dokument. Galleriet innehåller färdiga scenarier från Apple och communityn — från att skicka ETA till en kontakt till massomdöpning av filer.
Actions-biblioteket kompletteras av tredjepartsappar via App Intents-ramverket. Utvecklaren registrerar intent i Intents.intentdefinition och de visas automatiskt i Shortcuts-galleriet. Till exempel lägger Things 3-appen till Actions „Skapa uppgift" och „Visa dagens uppgifter", och CARROT Weather — „Dagens prognos" med platsparametrar.
Shortcuts fungerar i iOS-sandlådan — scenariot körs i bakgrundsprocessen shortcuted med begränsade rättigheter. Varje Action är ett anrop till en fördefinierad hanterare som tar emot indataparametrar, utför operationen och returnerar resultatet. Systemet överför utdata från en Action till nästa Actions indata via pipeline — användaren ser detta som blå anslutningspunkter för block i editorn.
Exekveringsflödet för Shortcut är linjärt: Actions körs sekventiellt uppifrån och ned. Villkorsövergångar implementeras med If-block — systemet utvärderar villkoret och kör motsvarande gren. Tillgängliga slingor är Repeat (upprepa N gånger), Repeat with Each (över listelement) och For Each. Ett fel i en Action avbryter hela scenariot, om inte ett Try/Catch-block har lagts till.
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)
}
}
}
Varje Intents-hanterare registreras i Info.plist via nyckeln INIntentsSupported. När Shortcut startas via Siri hittar systemet rätt IntentHandler och kör det asynkront. Svaret returneras som ett INIntentResponse-objekt som innehåller status, meddelande och valfria data för visning för användaren.
Skapa Shortcut börjar med att trycka på „+" i Shortcuts-appens galleri. Användaren väljer Actions från kategorier: Appar, Scenarier, Internet, Filer, Hälsa, Musik och andra. Varje Action konfigureras — inmatningsfält, växlar, listor. Efter montering testas scenariot med Play-knappen och vid fel markeras det problematiska blocket. För publicering exporteras Shortcut till en .shortcut-fil för sändning via AirDrop eller iMessage.
Variabler och magi Shortcuts stöder variabler — utdata från en Action kan skickas till en annan. Magiska variabler (Magic Variables) bestäms automatiskt: om föregående Action returnerar en bild, föreslår systemet den i nästa parameters. Användaren kan också skapa namngivna variabler via blocket Set Variable och använda dem var som helst i scenariot.
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 — ett modernt ramverk från Apple (iOS 16+, SwiftUI) som har ersatt Intents för anpassade intent. Till skillnad från gamla SiriKit fungerar App Intents utan Objective-C runtime, stöder asynkronitet via async/await och genererar automatiskt dialoger för Siri. Struct CreateTaskIntent markeras med protokollet AppIntent och parametrar med attributet @Parameter. Ramverket skapar självt Action i Shortcuts-galleriet.
Shortcuts-triggers — villkor under vilka scenariot startas automatiskt. Konfiguration görs på fliken Automation i Shortcuts-appen. Trigger delas in i personliga (tid, plats, laddning), taktila (NFC, skakning), system (appöppning, fokusläge, anslutning till CarPlay) och händelse (e-postmottagning, kalenderhändelse, notis). För varje trigger kan omedelbar körning eller med bekräftelse ställas in.
| Trigger | Startvillkor | Exempel |
|---|---|---|
| Tid | Specifik tid, soluppgång/nedgång | Aktivera „Stör ej"-läge kl 22:00 |
| Geozon | In- eller utträde ur område | Skicka „Åker hem" vid utträde från jobbet |
| NFC | Vidröra NFC-tagg | Starta scenario „Smart hem" vid taggberöring |
| App | Öppna eller stänga app | Påminn om att stänga timer vid stängning av YouTube |
| Fokus | Ändring av fokusläge | Aktivera mörkt tema vid aktivering av Sleep Focus |
| Laddning | Ansluta/koppla bort ström | Öppna laddningswidget vid anslutning av MagSafe |
Automatisering — en viktig funktion i Shortcuts, inte tillgänglig för vanliga appar utan utvecklarrättigheter. Användaren konfigurerar triggern en gång och glömmer — scenariot körs i bakgrunden utan deltagande. Till exempel startas automatiseringen „När jag kommer hem, slå på Wi-Fi och stäng av tyst läge" vid inträde i hemgeozonen. Systemet begär tillstånd för automatisering vid första konfigurationen och kan inaktivera den vid sällan användning.
Shortcuts på macOS — sedan macOS 12 Monterey finns Shortcuts tillgängliga på Mac. Scenarier synkroniseras via iCloud mellan alla Apple-enheter. På Mac stöds systemåtgärderna Finder, Terminal, Automator och AppleScript. macOS-utvecklare kan lägga till Actions via App Intents på samma sätt som iOS.
App Intents — huvudramverket för integration av en app med Shortcuts på iOS 16+ och macOS 13+. Utvecklaren skapar en struct som implementerar protokollet AppIntent, beskriver parametrar via property wrappers och implementerar metoden perform(). Systemet registrerar automatiskt intentet i Shortcuts, Siri och Spotlight. För stöd av äldre iOS-versioner (10–15) används Intents-ramverket med INIntent och IntentHandler.
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> AnyObject? {
if intent is OrderCoffeeIntent {
return OrderCoffeeIntentHandler()
}
return .none
}
}
Testa App Intents — felsökning av intent görs via Xcode: välj appschema, i Arguments skicka -intents, och simulatorn kommer att föreslå en lista över registrerade intent för testning. För att testa Shortcut i en miljö nära verkligheten, bygg ett arkiv av appen och installera på enheten via TestFlight. Shortcuts från appen visas i galleriet efter första starten.
Avancerade funktioner App Intents stöder parametrar med autokomplettering (dynamiska alternativ), bekräftelse före körning (confirmation), intent för Siri (voice shortcuts) och skapande av widgetar med startknappar. Indexed intents (iOS 17+) — intent som Siri automatiskt föreslår för användaren baserat på kontext: tid, plats och åtgärdshistorik.
Vanliga frågor
Shortcut — är ett scenario som kopplar samman åtgärder från olika appar, inte en fristående app. Användaren skriver inte kod utan sätter ihop scenariot från färdiga Actions-block. Shortcut startas av en trigger och körs utan att öppna Shortcuts-appen, medan en vanlig app kräver start via en ikon på skärmen.
Shortcuts stöder trigger: tid enligt schema, geozon vid in- eller utträde ur område, NFC-tagg vid beröring av iPhone, appöppning, widgettryckning, röstkommando Siri, anslutning av laddare, sömnläge och Focus Mode, samt vissa notiser från appar. Konfiguration görs på fliken Automation.
Ja, Shortcut exporteras till en .shortcut-fil och skickas via AirDrop, iMessage eller publiceras i Shortcuts-galleriet via iCloud. Mottagaren importerar scenariot och kan använda det. Vid nedladdning från internet kräver iOS bekräftelse och varnar för körning av overifierade scenarier på grund av potentiella säkerhetsrisker.
Tredjepartsappar lägger till Actions via App Intents-ramverket på iOS 16+ eller Intents-ramverket på äldre versioner. Utvecklaren registrerar åtgärder i Intents.intentdefinition och de visas i Actions-galleriet i Shortcuts-appen. Användaren kombinerar Actions från olika appar — till exempel skickar en länk från Safari till Bear-anteckningar.
Nej, Shortcuts skapas visuellt utan kod. Användaren drar Actions-block från listan, konfigurerar parametrar och kopplar dem sekventiellt. För avancerade scenarier finns blocken Run Script Over SSH, Get Contents of URL och Control Flow If, Repeat, For Each, men programmeringserfarenhet är inte obligatorisk.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också