App Intents to nowy API Apple do Państwa aplikacji
Rankiem 8 lutego 2026 roku poprosiłem Siri o zarejestrowanie 8 oz wody z mojego Apple Watch, podczas gdy moje ręce znajdowały się pod zlewem kuchennym. Woda została zarejestrowana. Okno dialogowe zegarka pokazało pozostałe 32 oz. Nie dotknąłem żadnego ekranu.1
Jedenaście tygodni wcześniej dodałem pojedynczy plik Swift do Water, mojej iOS-owej aplikacji do śledzenia nawodnienia: LogWaterIntent.swift, 80 linii AppIntent plus AppShortcutsProvider deklarujący trzy warianty fraz Siri. Ten plik jest obecnie najgorętszą powierzchnią API, jaką posiadam.2
Oto część, której zrozumienie zajęło mi trochę czasu. App Intents nie są funkcją Siri. Są kontraktem, który aplikacje firm trzecich podpisują z Apple Intelligence — systemowymi powierzchniami AI, które Apple zaczęło wprowadzać w iOS 18 i nadal rozwijało aż do iOS 26.3 Jeżeli wydaje Pan/Pani aplikację iOS i nadal traktuje App Intents jako „miłą do posiadania” funkcję głosową, to błędnie odczytuje, co Apple zbudowało. App Intents są API, który pozwala AI Apple działać jako Państwa aplikacja w imieniu użytkownika. Wszystko inne (Siri, Spotlight, Shortcuts, podsumowania Apple Intelligence, powierzchnie Watch i Vision Pro) jest pochodną tego kontraktu. Foundation Models, LLM działający na urządzeniu, który pojawił się w iOS 26, udostępnia osobny protokół Tool do wywoływania narzędzi w aplikacji; działa równolegle do App Intents, a nie poprzez nie.
TL;DR
- App Intents deklarują, co Państwa aplikacja może zrobić w typowany, ustrukturyzowany sposób, który AI Apple może wywołać bezpośrednio. Są one API Apple do użycia narzędzi przez aplikacje firm trzecich.
- Jeden prawdziwy przykład produkcyjny:
LogWaterIntentw aplikacji Water. 80 linii, pełny zapis SwiftData, synchronizacja HealthKit, konwersja jednostek uwzględniająca lokalizację, ustrukturyzowana odpowiedź dialogowa Siri. - iOS 26 dodał Foundation Models, LLM Apple działający na urządzeniu. Foundation Models udostępnia własny protokół
Tooldo użycia narzędzi w aplikacji; App Intents pozostają kanoniczną powierzchnią, którą Siri / Spotlight / Apple Intelligence wywołują pomiędzy aplikacjami. Ten sam kierunek, dwa równoległe kontrakty. - Aplikacja bez App Intents w 2026 roku jest niewidoczna dla Apple Intelligence. Tkanina AI prowadzi przez zadeklarowane przez Państwa intencje albo omija Państwa aplikację na rzecz konkurenta.
- Apple mówi nam o tym od trzech lat. Nazewnictwo (App Intents, App Shortcuts, Apple Intelligence) jest celowe. Kontrakt przesuwa się o jeden poziom w górę stosu z każdym WWDC.
Czym właściwie jest App Intent
Pełny kod źródłowy LogWaterIntent w wersji wydanej w commicie e398c58 8 lutego 2026:2
import AppIntents
import SwiftData
struct LogWaterIntent: AppIntent {
static var title: LocalizedStringResource = "Log Water"
static var description: IntentDescription = "Log a glass of water to your daily intake"
@Parameter(title: "Amount", default: 8)
var amount: Int
static var parameterSummary: some ParameterSummary {
Summary("Log \(\.$amount) oz of water")
}
func perform() async throws -> some IntentResult & ProvidesDialog {
let container = try ModelContainer(for: WaterEntry.self, DailyLog.self, UserSettings.self)
let context = ModelContext(container)
let settingsDescriptor = FetchDescriptor<UserSettings>(
predicate: #Predicate { $0.id == "user-settings" }
)
let settings = try context.fetch(settingsDescriptor).first ?? UserSettings()
let amountMl: Double
if settings.unitSystem == .imperial {
amountMl = Double(amount) * 29.5735
} else {
amountMl = Double(amount)
}
let todayKey = DailyLog.todayKey()
let logDescriptor = FetchDescriptor<DailyLog>(
predicate: #Predicate { $0.dateKey == todayKey }
)
let log: DailyLog
if let existing = try context.fetch(logDescriptor).first {
log = existing
} else {
log = DailyLog(date: .now, goalAmount: settings.dailyGoal)
context.insert(log)
}
let entry = WaterEntry(amount: amountMl)
log.entries.append(entry)
try context.save()
if settings.healthKitEnabled {
try? await HealthKitService.shared.logWater(amount: amountMl, date: entry.timestamp)
}
let unit = settings.unitSystem == .imperial ? "oz" : "mL"
let totalDisplay = settings.formatAmount(log.totalAmount)
return .result(dialog: "Logged \(amount) \(unit). Today's total: \(totalDisplay)")
}
}
struct WaterShortcuts: AppShortcutsProvider {
static var appShortcuts: [AppShortcut] {
AppShortcut(
intent: LogWaterIntent(),
phrases: [
"Log water in \(.applicationName)",
"Add water in \(.applicationName)",
"Drink water in \(.applicationName)",
],
shortTitle: "Log Water",
systemImageName: "drop.fill"
)
}
}
(Aktualna wersja produkcyjna tego pliku w aplikacji Water rozwija dialog jeszcze bardziej, dodając warunek osiągniętego celu / pozostałej ilości. Powyższy kod z 8 lutego to ten, który testowałem przy zlewie kuchennym.)
Trzy rzeczy zasługują tutaj na nazwanie, ponieważ większość „samouczków App Intents” je pomija.
@Parameter to schemat. AI Apple widzi amount: Int z domyślną wartością 8. Kiedy Siri parsuje „log 12 oz of water”, wytwarza LogWaterIntent(amount: 12) i wywołuje perform(). Po mojej stronie nie ma żadnego parsowania ciągów znaków. System typów jest schematem.5
parameterSummary to odzwierciedlenie parametru w naturalnym języku. Apple używa go do renderowania akcji w interfejsie Shortcuts, w dialogu i coraz częściej w panelach potwierdzeń Apple Intelligence. Podsumowanie jest odczytywane na głos użytkownikowi. Źle dobrane sprawi, że użytkownik usłyszy brzydkie zdanie; dobrze dobrane sprawi, że powierzchnia będzie wyglądać natywnie.6
perform() zwraca IntentResult & ProvidesDialog. To jest ustrukturyzowany zwrot: powierzchnia AI otrzymuje nie tylko sukces/niepowodzenie, ale też ciąg dialogowy, który użytkownik usłyszy. Apple coraz bardziej oczekuje ProvidesDialog, ProvidesView lub ReturnsValue, aby wynik komponował się w Siri, Spotlight, Watch i (w iOS 26) w łańcuchu odpowiedzi Apple Intelligence.7
Blok AppShortcutsProvider na dole jest tym, co rejestruje frazy Siri. Token \(.applicationName) to miejsce, w którym Siri automatycznie wstawia „Water”. Trzy warianty fraz z tą samą intencją dają parserowi NL Apple większą przestrzeń do dopasowania frazy użytkownika bez konieczności utrzymywania słownika fraz. systemImageName to prawdziwa nazwa SF Symbols; w ten sposób Spotlight, Shortcuts i Apple Intelligence renderują ikonę akcji.
Dlaczego jest to najważniejszy API iOS od czasu SwiftUI
API-y iOS przybierają dwie formy. Niektóre dotyczą tego, jak Państwa aplikacja sama się rysuje (UIKit, SwiftUI, Metal). Niektóre dotyczą tego, jak Państwa aplikacja integruje się z systemem (schematy URL, Universal Links, Widgets). App Intents to trzecia forma: to sposób, w jaki AI Apple używa Państwa aplikacji.
Warto prześledzić ewolucję.
- iOS 10 (2016) wprowadził SiriKit Intents (
INIntent), pierwszy raz, gdy aplikacje firm trzecich mogły być adresowane głosowo. Powierzchnia była wąska: stała lista dziedzin (komunikatory, płatności, zamawianie przejazdów) ze ścisłymi schematami.8 - iOS 12 (2018) poszerzył powierzchnię o Siri Shortcuts: każda aplikacja mogła przekazać
NSUserActivitylubINIntenti mieć nadzieję, że Siri ją zasugeruje. - iOS 13 (2019) dodał obsługę intencji w aplikacji, dzięki czemu aplikacje mogły reagować na wywołania skrótów bez przechodzenia w tło do systemowego interfejsu Siri.
- iOS 16 (2022) wprowadził framework App Intents: typowany, deklaratywny, z
@ParameteriAppShortcutsProvider. PoprzednikINIntentzostał efektywnie zastąpiony dla nowych projektów.9 - iOS 18 (2024) wprowadził Apple Intelligence i zaczął kierować żądania Siri przez App Intents wszędzie tam, gdzie to możliwe. Funkcja „personal context” Apple Intelligence czyta z App Entities (wersja danych App Intents).10
- iOS 26 (2025) wprowadził framework Foundation Models, LLM Apple działający na urządzeniu. Foundation Models udostępnia osobny protokół
Tooldo wywoływania narzędzi w aplikacji. App Intents pozostają kanoniczną powierzchnią międzyaplikacyjną dla Apple Intelligence, podczas gdyTooljest powierzchnią w aplikacji do bezpośrednich wywołań LLM. Oba kontrakty działają równolegle.4
Kontrakt rozszerzał się w górę stosu z każdą wersją. Pierwotnie konsumentem App Intent była osoba dotykająca Shortcuts. Potem głos Siri. Potem Spotlight. Potem podsumowania Apple Intelligence. Teraz systemowe powierzchnie Apple Intelligence wspierane przez LLM używają ich do działania na żądania użytkownika. App Intent, który wydaje Pan/Pani w 2026 roku, jest tym, który Apple Intelligence będzie wywoływać w iOS 27, 28, 29.
Powyższy wzorzec jest tym, co mam na myśli, mówiąc, że App Intents nie są funkcją Siri. Są API ustrukturyzowanego użycia narzędzi dla całej tkaniny AI Apple. SwiftUI był najważniejszym API UI, ponieważ stał się jedynym sposobem napisania aplikacji dla visionOS, watchOS 10+ i iOS 17+. App Intents podążają tym samym łukiem po stronie AI: powierzchnią, na którą Apple stawia wszystkie swoje karty.
Co zmienia się teraz, gdy Foundation Models zostały wydane
Foundation Models to framework, który dostarczany jest na każde urządzenie kwalifikujące się do Apple Intelligence. Próg sprzętowy jest taki sam, jak lista Apple Intelligence: iPhone 15 Pro i 15 Pro Max (A17 Pro), linia iPhone 16, linia iPhone 17, iPhone Air, iPhone 17e, iPad Pro z M1 lub nowszym, iPad Air z M1 lub nowszym, iPad mini z A17 Pro, Vision Pro z M2 lub nowszym oraz Mac z M1 lub nowszym. Co znamienne, brakuje: bazowego iPhone 15 / 15 Plus.412
Implikacja: jeżeli systemowe powierzchnie Apple (Siri, Spotlight, Apple Intelligence) w ogóle wywołują Państwa aplikację, robią to przez App Intents i App Entities. Nie ma API setSystemPrompt(...) dla aplikacji firm trzecich w systemowej tkaninie AI. Jest rejestr intencji. Foundation Models dodaje równoległą powierzchnię Tool w aplikacji dla deweloperów, którzy chcą mieć własne funkcje LLM działające na urządzeniu. Kontrakt międzyaplikacyjny (ten, którego Apple Intelligence i Siri używają, aby znaleźć Państwa aplikację) działa przez App Intents.
Trzy konkretne konsekwencje dla deweloperów aplikacji:
Aplikacja bez odpowiedniego App Intent nie jest osiągalna z poziomu polecenia głosowego Siri w swojej kategorii. Apple Intelligence kieruje frazy takie jak „Hey Siri, log my water” do aplikacji, które jako pierwsze zadeklarowały pasującą intencję. Wdrożyłem intencję Water w lutym 2026. Moja interpretacja kierunku frameworka: aplikacje do nawodnienia, które wdrożą intencję w 2027 roku, wejdą na rynek, w którym wagi routingu już akumulują się na rzecz pierwszych graczy. Ta sama logika dotyczy list zakupów, rejestrowania treningów, wpisów kalendarzowych, wyszukiwań zdjęć. Spodziewam się, że przewaga pierwszego gracza w deklaracjach intencji będzie się kumulować tak, jak miało to miejsce w przypadku innych API-ów, na które Apple postawiło na swojej platformie (kategorie HealthKit, bogate wyniki Spotlight, tokeny Live Activities).
Personalizacja Apple Intelligence czyta z App Entities, nie tylko z intencji. AppEntity deklaruje „ta aplikacja ma dane o tym kształcie.” Kiedy użytkownik pyta „what was the last book I added to my reading list,” Apple Intelligence przeszukuje każde AppEntity dopasowane do Book w każdej zainstalowanej aplikacji. Jeżeli Państwa aplikacja ma listę książek do przeczytania, ale nie ma zadeklarowanego BookEntity, Państwa dane są niewidoczne dla powierzchni AI Apple. Apple Intelligence nie może pobrać ani odwołać się do Państwa danych.11
Kształt zwrotu IntentResult & ProvidesDialog ma coraz większe znaczenie. Apple Intelligence komponuje wyniki intencji w dłuższe odpowiedzi w Siri, Spotlight i Watch. perform(), który po prostu zwraca sukces bez ustrukturyzowanego dialogu, jest trudniejszy do wkomponowania przez system w spójną odpowiedź. ProvidesDialog i ProvidesView nie są opcjonalną grzecznością; są tym, jak Państwa akcja staje się cytatem na powierzchni AI użytkownika.
Co zbudowałbym inaczej
Jedenaście tygodni produkcyjnych logów w aplikacji Water mówi mi trzy rzeczy, które powinienem był zrobić wcześniej.
Wdrażaj więcej intencji, niż wydaje Ci się, że potrzebujesz. Wdrożyłem jedną. Powinienem był wdrożyć cztery: LogWaterIntent, CheckTodaysProgressIntent, AdjustGoalIntent, ShowHistoryIntent. Każda z nich odpowiada frazie Siri, której użytkownicy faktycznie próbują („how much water have I had today” kierowane do generycznego AI Apple zamiast do danych mojej aplikacji). Każda nieobecna intencja to zapytanie, które Apple Intelligence kieruje obok mnie.
Ciąg dialogowy nie jest treścią e-maila. Miałem ProvidesDialog od początku, ale mój wczesny dialog był prozą. Użytkownik słuchający go przez CarPlay lub AirPods potrzebuje krótkiej, konkretnej, opartej na faktach struktury: „8 oz logged. 32 oz to go.” Powierzchnia Watch w szczególności agresywnie skraca tekst. Konwersacyjny dialog to gorsze doświadczenie użytkownika niż dialog opierający się pewnie na faktach. Przepisałem swój w 4. tygodniu.2
App Entities mają większe znaczenie, niż sądziłem. Mam model SwiftData WaterEntry. Powinienem także zadeklarować WaterEntryEntity: AppEntity plus jego towarzyszące WaterEntryQuery: EntityQuery, aby Apple Intelligence mogło odpowiedzieć na „show me when I drank water yesterday.” Minimalne mostkowanie:11
struct WaterEntryEntity: AppEntity {
static var typeDisplayRepresentation: TypeDisplayRepresentation = "Water Entry"
static var defaultQuery = WaterEntryQuery()
var id: UUID
var displayRepresentation: DisplayRepresentation {
DisplayRepresentation(title: "\(amount) oz at \(timestamp.formatted())")
}
var amount: Int
var timestamp: Date
}
struct WaterEntryQuery: EntityQuery {
func entities(for identifiers: [UUID]) async throws -> [WaterEntryEntity] {
// Fetch matching entries from SwiftData
}
func suggestedEntities() async throws -> [WaterEntryEntity] {
// Recent entries Apple Intelligence can suggest
}
}
Dwa małe typy Swift plus klej do pobierania danych ze SwiftData. Aby wpisy były indywidualnie dostępne w Spotlight (tak by użytkownicy szukający „water” trafiali na właściwy wpis), należy dostosować encję do IndexedEntity i przekazywać aktualizacje indeksu przy zapisach. Tego oczekuje pipeline Spotlight Apple poza zwykłym ujawnieniem AppEntity.
Ten sam kształt ma zastosowanie w innych miejscach moich aplikacji. Get Bananas, moja aplikacja do list zakupów, ma już SwiftData @Model ShoppingItem z @Attribute(.unique) var id: UUID, name, amount, section, isChecked, plus pole lastModified do synchronizacji iCloud Drive.13 Opakowanie go jako ShoppingItemEntity: AppEntity i wdrożenie kilku intencji (AddShoppingItem, CheckOffItem, ShowList) ujawniłoby tę samą warstwę trwałości Apple Intelligence, którą Get Bananas już ujawnia Claude Desktop poprzez swój serwer MCP .mcpb.14 Dwa ekosystemy LLM, dwa różne kontrakty, ta sama lista zakupów. To jest teza równoległych kontraktów jako pojedyncza wdrożona aplikacja: model SwiftData to dane, App Intents to kontrakt Apple, MCP to kontrakt Anthropic, obie powierzchnie operują na tym samym źródle prawdy.
Kiedy nie wdrażać App Intent
Odmowa jest częścią projektu.
Jeżeli Państwa aplikacja jest czysto konsumencka (czytanie zdjęć użytkownika, wyświetlanie wiadomości, odtwarzanie dźwięku) bez zmiennego stanu użytkownika, App Intents mogą nie mieć nic do ujawnienia. Framework Apple obsługuje OpenIntent (po prostu otwiera aplikację w jakimś kontekście), ale jeżeli jedyną użyteczną akcją jest „otwórz aplikację”, intencja jest narzutem. Nie wdrażaj jej dla samego jej posiadania.
Jeżeli akcja zależy od interfejsów UI, które trudno jest zabstrahować (złożone wieloetapowe narzędzie do płótna, aplikacja do edycji 3D), wymagany parameterSummary intencji zdegeneruje się do mglistego pseudo-naturalnego języka, którego nikt faktycznie nie wypowiada. Fraza Siri „edit my photo with the blur tool at strength 7” jest technicznie możliwa, ale żaden człowiek jej nie wypowie. Powierzchnia intencji jest podatkiem bez wypłaty.
Właściwa zasada: App Intent zarabia na siebie, gdy istnieje zdanie, które użytkownik naturalnie wypowiedziałby, aby wywołać akcję. „Log 8 oz of water” to takie zdanie. „Apply Gaussian blur with sigma 2.4 to layer 3” to nie. Jeżeli akcje Państwa aplikacji koncentrują się na drugim wzorcu, intencje nie są Państwa dźwignią konwersji.
Końcowe ujęcie
Od trzech lat Apple sygnalizuje, że systemowa tkanina AI iOS przebiega przez App Intents. WWDC 2024 dodał routing Apple Intelligence przez nie. WWDC 2025 dodał Foundation Models obok jako oddzielną powierzchnię wywoływania narzędzi w aplikacji, pozostawiając App Intents jako kontrakt międzyaplikacyjny, którego Siri / Spotlight / Apple Intelligence nadal używają. Każdy sygnał wskazuje w tym samym kierunku: typowany, deklaratywny App Intent jest kontraktem, który aplikacje firm trzecich teraz podpisują z systemem.
Większość aplikacji iOS nadal traktuje App Intents jako Siri Shortcuts: funkcję do wdrożenia, jeżeli ma się czas. Moja interpretacja jest taka, że to ramowanie postarzeje się źle. W miarę jak systemowe powierzchnie Apple Intelligence się rozszerzają (już dzisiaj przez Siri, Spotlight, Shortcuts i podsumowania Apple Intelligence), aplikacje bez zadeklarowanych intencji prawdopodobnie znajdą się poza grafem routingu. Powierzchnia pierwszego gracza, w moim doświadczeniu obserwacji innych zakładów platformowych Apple, kumuluje się.
Water ma LogWaterIntent wdrożone od jedenastu tygodni. Ilość kodu, który wdraża App Intent, jest na tyle mała, że mieści się w jednym pliku. Koszt niewdrożenia rośnie z każdym wydaniem Apple Intelligence.
Jeżeli wydaje Pan/Pani aplikację iOS w 2026 roku i nie zadeklarował co najmniej jednego App Intent, w mapie drogowej brakuje pozycji. Proszę ją dodać.
FAQ
Czym jest App Intent w rozwoju iOS?
App Intent to typowana, deklaratywna struktura Swift, która ujawnia jedną z akcji Państwa aplikacji systemowym powierzchniom AI Apple. Deklaruje parametry przez @Parameter, podsumowanie w naturalnym języku przez parameterSummary oraz asynchroniczne ciało perform(), które wykonuje pracę i zwraca ustrukturyzowany wynik. Siri Apple, Spotlight, Shortcuts i Apple Intelligence mogą go wywołać. Foundation Models (LLM Apple działający na urządzeniu) używa osobnego protokołu Tool do bezpośrednich wywołań narzędzi w aplikacji.
Czym App Intents różnią się od starszego INIntent?
App Intents (wprowadzone w iOS 16, 2022) zastąpiły INIntent jako podstawowy framework intencji Apple. Nowszy framework jest w pełni Swift-natywny, używa property wrappers takich jak @Parameter, obsługuje typowo bezpieczne zapytania encji przez AppEntity i jest powierzchnią, którą wywołują Siri, Spotlight, Shortcuts i Apple Intelligence. Starszy INIntent jest nadal obsługiwany, ale nie otrzymuje żadnych nowych funkcji.
Czy potrzebuję iOS 26, aby wdrożyć App Intent?
Nie. App Intents są dostępne od iOS 16 wzwyż. iOS 26 dodaje obok niego framework Foundation Models, ale same deklaracje App Intent działają na iOS 16+. Powyższy przykładowy kod używa SwiftData (iOS 17+), więc cel wdrożenia zależy od tego, co importuje ciało Państwa perform(). Same App Intents działają wstecz aż do iOS 16; te oparte na SwiftData wymagają iOS 17.
Jaka jest różnica między App Intent a App Entity?
App Intent to akcja (czasownik). App Entity to dane, o których wie Państwa aplikacja (rzeczownik). LogWaterIntent to intencja. WaterEntry stające się typem zapytania to encja. Apple Intelligence używa obu: intencji do podejmowania akcji, encji do pobierania i odwoływania się do danych w odpowiedziach.
Jak App Intents odnoszą się do wywoływania narzędzi w Foundation Models?
Foundation Models udostępnia własny protokół Tool do bezpośrednich wywołań narzędzi LLM w aplikacji. App Intents pozostają kanoniczną powierzchnią międzyaplikacyjną, którą wywołują Apple Intelligence, Siri i Spotlight. Ten sam kierunek (typowane, deklaratywne użycie narzędzi); dwa równoległe kontrakty. Aplikacja, która chce być osiągalna przez systemowe powierzchnie AI, wdraża App Intents; aplikacja, która chce wywoływać własny LLM działający na urządzeniu z niestandardowymi narzędziami, wdraża zgodności z Tool. Wiele aplikacji wdroży oba.
App Intents nie są funkcją. Są kontraktem. Aplikacja, która wdraża intencję jako pierwsza, otrzymuje powierzchnię; aplikacja, która wdraża ją później, znajduje powierzchnię już skierowaną gdzie indziej. Jedenaście tygodni temu wdrożyłem ją w aplikacji Water. Kumulacja już się rozpoczęła.
References
-
Osobisty test terenowy, 8 lutego 2026, ~9:15 AM PT. Zarejestrowany jako pierwszy zapis end-to-end Siri-do-
LogWaterIntent-do-SwiftData na sparowanym Apple Watch. ↩ -
Autorska aplikacja iOS Water, opublikowana przez 941 Apps (941apps.com).
LogWaterIntent.swiftwydany w Water 1.4, commite398c588 lutego 2026. Powyższy fragment kodu źródłowego to wersja produkcyjna z tego początkowego commita; ciąg dialogowy był od tamtej pory iterowany. ↩↩↩ -
Apple, „Apple Intelligence Foundation Language Models,” machinelearning.apple.com. Hybryda na urządzeniu + Private Cloud Compute. ↩
-
Apple Developer, framework „Foundation Models”. iOS 26+.
LanguageModelSessionujawnia wywoływanie narzędzi przez protokółTool, oddzielnie od protokołuAppIntentużywanego przez Siri / Spotlight / Apple Intelligence. Oba są równoległymi kontraktami w tym samym kierunku. ↩↩ -
Apple Developer, „Creating Your First App Intent”. Deklaracja parametrów oparta na property-wrapperach; typy są schematem. ↩
-
Apple Developer, „ParameterSummary”. Używane przez interfejs Shortcuts, dialog Siri i potwierdzenia Apple Intelligence. ↩
-
Apple Developer, „Returning a value from your intent”. Kształty
ProvidesDialog,ProvidesView,ReturnsValue. ↩ -
Apple, „Introducing SiriKit”, WWDC 2016. SiriKit Intents (
INIntent) wydane w iOS 10. Siri Shortcuts pojawiły się w iOS 12 (2018), a obsługa intencji w aplikacji w iOS 13 (2019). ↩ -
Apple, „What’s new in App Intents”, WWDC 2022. Wprowadzenie typowanego, deklaratywnego frameworka App Intents. ↩
-
Apple, „Bring your app to Siri”, WWDC 2024. Routing Apple Intelligence przez App Intents i App Entities. ↩
-
Apple Developer, „AppEntity protocol”. Wersja typu danych App Intents; możliwa do zapytania przez Apple Intelligence i inne systemowe powierzchnie. ↩↩
-
Apple, „Apple Intelligence System Requirements”. Kwalifikujące się urządzenia: iPhone 15 Pro i Pro Max (A17 Pro), linia iPhone 16, linia iPhone 17, iPhone Air, iPhone 17e, iPad Pro z M1 lub nowszym, iPad Air z M1 lub nowszym, iPad mini z A17 Pro, Apple Vision Pro z M2 lub nowszym oraz Mac z M1 lub nowszym. Co znamienne, brakuje: bazowego iPhone 15 / 15 Plus. Framework Foundation Models dziedziczy tę samą bramę sprzętową. ↩
-
Autorska Get Bananas, aplikacja do list zakupów SwiftUI + SwiftData dla iOS, macOS, watchOS i visionOS. SwiftData
@ModelShoppingItemznajduje się wItem.swift:@Attribute(.unique) var id: UUID,name: String,amount: String,section: String,isChecked: Bool,isOptional: Bool,sortOrder: Int,lastModified: Date?. Synchronizacja iCloud Drive przeziCloudBackupManager. ↩ -
Get Bananas wydaje serwer MCP (Model Context Protocol) spakowany jako
get-bananas.mcpbdla Claude Desktop. Ujawnione narzędzia:get_shopping_list,add_item,remove_item,update_item,update_shopping_list. Specyfikacja MCP Anthropic: modelcontextprotocol.io. ↩