1. Developer definiuje struct/class implementującą protokół `AppIntent` w Swift: określa `title`, `description`, parametry z `@Parameter` property wrapper, i metodę `perform() async throws -> some IntentResult`. 2. Encje danych aplikacji dziedziczą protokół `AppEntity` z identifierem, displayRepresentation i opcjonalnym query provider'em (do wyszukiwania przez system). 3. Kompilator Swift generuje statyczne metadane intents; ShortcutsProvider definiuje `AppShortcuts` z invocation phrases dla Siri. 4. Runtime iOS/macOS: gdy user mówi/pisze/wybiera akcję w Shortcuts, system pattern-matchuje frazę do zarejestrowanych AppIntents, waliduje parametry (auto-Q&A dla brakujących), wywołuje `perform()`. 5. Apple Intelligence (iOS 18+): LLM Apple analizuje description i parametry AppIntent semantycznie, potrafi wywołać intent nawet gdy nazwana fraza nie pasuje explicit - podobnie do tool calling w GPT/Claude przez JSON schema. 6. Siri AI (iOS 27, 2026): multi-app orchestration - agent może łączyć intents z różnych apps ('znajdź zdjęcia z Chicago w Photos i wyślij mailem do X') traktując je jako compose'owalne narzędzia.
Aplikacje mobilne były długo 'silosami' - agent AI nie potrafił wywoływać ich akcji bez ręcznie napisanych wtyczek per platforma. App Intents rozwiązuje to przez jedyny deklaratywny API: developer pisze 'moja aplikacja umie X, Y, Z' raz, a system automatycznie eksponuje to do Siri, Shortcuts, Spotlight, Widget actions i Apple Intelligence. Redukcja duplikacji + fundament dla agentów AI operujących na natywnych aplikacjach.
Protokół Swift definiujący pojedynczą akcję aplikacji: title, description, @Parameter'y, metoda perform(). Automatycznie eksponowany do Siri/Shortcuts/Spotlight.
Protokół dla natywnych encji aplikacji (np. Task w todo appie, Playlist w music appie). Zawiera identifier, displayRepresentation, opcjonalny query provider.
Swift enum eksponowany do intents jako lista predefinowanych wartości (np. FocusMode.work | .personal | .doNotDisturb).
Swift property wrapper deklarujący typowany parametr intencji z opisem, defaultem i regułami dialogowymi dla brakujących wartości.
Provider deklarujący, które AppIntents mają być natychmiast dostępne w Shortcuts + jakimi frazami invocation dla Siri. Kod, nie plist.
Typ wyniku metody perform(): może zawierać dialog dla Siri, structured value, opening view, lub widget snapshot.
Oficjalna
Domyślne ustawienie na true łamie flow w Shortcuts/Widgets - user oczekuje background execution.
Krótki lub brakujący description powoduje że LLM Apple nie potrafi wybrać intent semantycznie - intent jest niewidoczny dla agenta.
Brak dialogu dla wymaganego parametru powoduje generyczne pytanie Siri ('What is X?') - słabe UX.
Bez AppShortcutsProvider intents nie pojawiają się automatycznie w Shortcuts app - są dostępne tylko przez developer flow.
SiriKit-owe podejście localization w plist nie działa dla App Intents - localization musi być inline w Swift przez LocalizedStringResource.
iOS 10 wprowadza SiriKit - pierwszy framework do integracji akcji aplikacji z Siri. Ograniczony do fixed domains (messaging, ride-booking, payments, VoIP). Wymagał .intentdefinition + plist.
iOS 12 dodaje Shortcuts app i Custom Intents - developerzy mogą definiować własne intencje poza fixed domains. Dalej wymaga plist + IntentHandler class.
Apple wprowadza App Intents jako Swift-first successor SiriKit. Deklaratywne intents w kodzie, integracja z Shortcuts/Siri/Spotlight/Widgets. Interactive Widgets zapowiedziane rok później.
iOS 17: interaktywne widgety wywołujące App Intents z Home Screen/Lock Screen. Live Activities używają App Intents do akcji użytkownika.
iOS 18 uczyni App Intents narzędziami dla LLM Apple - Apple Intelligence potrafi wywołać intents semantycznie (podobnie do tool calling w GPT/Claude). App Intents staje się fundamentem agentycznego Siri.
WWDC 2026: Siri AI oparta na Google Gemini + App Intents jako centralny mechanizm multi-app task orchestration. Agent łączy intents z różnych aplikacji w wieloetapowe workflow. onscreen awareness + personal context.
Złożoność czasowa: O(1) rejestracja (compile-time); O(model_inference) wywołanie przez Apple Intelligence. Złożoność przestrzenna: O(|intents_metadata|) - zwykle < 100 KB per aplikacja.
Frazy naturalnym językiem rejestrowane w AppShortcutsProvider dla Siri (np. 'Log workout' dla WorkoutIntent).
Text pytania Siri dla brakującego parametru (@Parameter(title:, requestValueDialog:)).
Flaga static var openAppWhenRun: Bool - czy intent wymaga otwarcia UI aplikacji czy działa w tle.
Czy intent pojawia się w picker'ze Shortcuts. False dla intents wywoływanych tylko programowo lub przez agenta.
Który intent jest wywoływany zależy w pełni od zapytania użytkownika / decyzji agenta - conditional invocation.
Pattern-matching Siri i wywołania Shortcuts są sekwencyjne per zapytanie. Multi-app orchestration w Siri AI może wywoływać intents równolegle jeśli agent wykryje niezależne kroki.
App Intents jest warstwą API OS - nie ma zależności hardware'owej. Działa na każdym urządzeniu Apple (iPhone/iPad/Mac/Apple Watch/Vision Pro).