App Intents

RSS for tag

Explore the App Intents framework, including how to expose your app's actions and content to Siri, Shortcuts, Spotlight, and other system experiences.

Documentation

Posts under App Intents subtopic

Post

Replies

Boosts

Views

Activity

Is UISceneAppIntent supported in Designed for iPad apps on macOS?
I'm seeing what appears to be different UISceneAppIntent behavior between iOS and Designed for iPad on macOS, and I'd like to confirm whether this is expected. I'm working on an iOS app that defines an AppIntent conforming to UISceneAppIntent from the AppIntents framework. The intent is handled by a scene delegate conforming to both UIWindowSceneDelegate and AppIntentSceneDelegate. On iOS, everything works as expected: If the app is launched for the first time from Shortcuts, the intent is available via connectionOptions.appIntent in scene(_:willConnectTo:options:). If the app is already running, scene(_:willPerformAppIntent:) is called. However, when running the same iOS app on macOS in Designed for iPad mode, the behavior is different: If the app is launched from Shortcuts, connectionOptions.appIntent is always nil in scene(_:willConnectTo:options:). If the app is already running, scene(_:willPerformAppIntent:) is never called, even though the application is successfully activated. Is this expected behavior? I noticed that the AppIntents framework explicitly marks both AppIntentSceneDelegate and UISceneAppIntent as unavailable on macOS: @available(iOS 26.0, tvOS 26.0, *) @available(macOS, unavailable) @available(watchOS, unavailable) public protocol AppIntentSceneDelegate : UISceneDelegate Since the app is running on macOS in Designed for iPad mode and still uses the iOS binary, I wasn't sure whether these scene-based APIs are expected to work in this environment or whether they are intentionally unsupported. Has anyone from Apple or the community been able to confirm whether this behavior is by design, or whether it should be considered a bug? I'd appreciate any clarification.
1
0
60
1d
Receiving an on‑screen image from another app via App Intents / Siri (app has no photo library)
I have a photo editing app that owns no photo library. I want a user viewing an image in another app (e.g. Photos) to say "filter this image in MyApp" and have Siri hand that on‑screen image to my intent. Targeting iOS 27. What I've tried, and the result in each case: • App Shortcut + @Parameter var image: IntentFile — Siri resolves my other parameters (a filter AppEnum) by voice, but never binds the image; the run fails. • @AppIntent(schema: .photos.setFilter) with a .photos.asset entity — never routes from Photos. • @AppIntent(schema: .system.open): OpenIntent with a custom AppEntity target — "Open this image in MyApp" just launches the app by name; perform() is never called, and the entity query never runs. My understanding from WWDC26 "Build intelligent Siri experiences with App Schemas" (session 240) and "Discover new capabilities in the App Intents framework" (session 345): • Cross‑app content transfer (Transferable + IntentValueRepresentation) seems limited to system value types (IntentPerson, PlaceDescriptor); IntentFile is not a _SystemIntentValue, so an image can't ride that rail. • Onscreen awareness (NSUserActivity.appEntityIdentifier, View Annotations) appears to expose only the foreground app's own content — which here is Photos, not me. Question: Is there a supported way for a third‑party app to receive another app's on‑screen image (vs. a contact/place) through Siri/App Intents today? If so, which API carries the pixels — an IntentFile parameter, @UnionValue, IntentValueQuery, something else — and what must the source app do to make it available? Or is asking "do X to this image in <third‑party app>" simply not supported yet outside Shortcuts?
1
1
58
1d
Adopting AppIntents and AppEntities for Apple Intelligence
In my app, I adopt ‘App Intents’ and ‘App Entities’ for various items and actions in my app. These work in the Shortcuts app, and users can use Find Intents to lookup information or use the intents to act up on them, even though they don’t map on to any of the specific App ‘Schemes’ and ‘Domains’ that are listed. If I'm using just App Entities and Intents on their own, would these participate with the new Siri AI, without any additional work? For example, in my app, I have entities like Contacts, Tags, and ‘Visit Logs’. I have intents for 'create tag’, ‘add tags to a contact’, add a ‘Log’ to a 'contact' etc. These are specified in the AppShortcutsProvider list, but I have more than 10 intents. How would these work with the new Apple Intelligence and Siri? Or does Siri integration require AppSchema adoption?
8
4
352
2d
AppEnum filtering in Shortcuts
Hello, I have an AppEntity with an EntityQuery that conforms to EnumerableEntityQuery by providing an allEntities() method. This creates a default "Find" action in the Shortcuts app for that entity, including automatic filtering on primitive properties such as dates and numbers. The entity has an AppEnum property. However, the "Find" action returns zero results when filtering by that property – even though the enum value is correctly displayed when using the "View" action on the same entity. Conforming to EntityPropertyQuery and manually defining comparators does fix the enum filtering, but it replaces all of the system-generated filtering, requiring me to reimplement comparators for every property I want to remain filterable. Is this the intended behavior, or is automatic filtering on AppEnum properties something that should be supported out of the box? Sincerely, Holger
0
0
38
3d
Can I steer how Siri thinks of an @AppEntity(schema:X)?
I conform to @AppEntity(schema: .photos.album). I'm curious if I can steer how Siri thinks of these entities when the user speaks about them. While my app contains groups of images, they are not presented to the user as "albums". In fact "albums" from PhotoKit are used when creating these galleries. This distinction is important. The user is most likely to say "I want to open a gallery in " rather than "I want to open an album in " Is it possible to steer Siri into thinking of these AppEntities as galleries rather than albums? Similar to how IndexedEntity contains a CSSearchableItemAttributeSet ?
0
0
49
3d
visionOS no longer displays App Entities icon in the search results
In visionOS 2, the system search displays the icon of each App Entity registered. It used to work up to visionOS 26 beta 7. But since visionOS 26 beta 8, visionOS 26.x , and still in the current visionOS 27 Beta 2 the system search no longer display the right icon. Instead it displays the icon of an AppShortcut declared by the source code which uses the AppEntities. This does not help the users to find the right AppEntity in a search with multiple results as they all have the same AppShortcut icon. This "bug" also make the search result differ from the experience with iOS and iPadOS which display each AppEntity icon. You can use the Apple sample to see this bug on visionOS 27 Beta 2 and 26. Accelerating app interactions with App Intents AppEntities are an important part of Apple Intelligence, the system integration is really important for a great user experience. FB19915478
0
0
50
3d
Multiple schemas per entity
I wonder how to apply multiple schemas to the same entity. Just to give an example: Let's say we have a typical shoebox application for note taking. Notes can be organized in hierarchical folders. For notes the note entity schema makes obviously sense. And for folders we need to apply the schema notes.folder, so this entity type can be used with the createNode and updateNote intent schemas. But, it would also make sense to use the file schema for folder entities, as it allows me to use the createFolder intent schema or deleteFile. Unfortunately, I can only apply one schema to one entity. So I can't declare a folder as note.folder and file.file simultaneously. I thought about using multiple entity types for the same entity to have somewhat multiple representations, but I can only assign a single app entity identifier to a view.
2
1
112
4d
App Intents + Siri AI
Hey, Running iOS 27 beta and have App Intents working in the shortcuts app. When I ask the exact query via Siri it seems to say it can't do that and asks me to open the app to do it manually. Is this expected behaviour? A bug? Anything I need to double check? The app doesn't map to a schema directly.
4
3
223
4d
IndexedEntities and Siri AI
Currently, I have spotlight entities show up when I search for them using Spotlight on iOS 27. These entities are things that are important for users, like campus buildings, accessible entrances, assignments, and more. However, after getting access to Siri AI, it seems that none of this information at all is available to Siri, yet all of it is sitting there in the spotlight index and viewable with a written query. I was told by an Apple Engineer that creating Indexed and EnumerableEntities, and indexing them via the App Intents framework, should expose information about these items to Siri, so if I query: "[Building name] in Ohio State" it would at least show me what the app has for that information. Presently, Siri uses the web for everything and doesn't pull in any spotlight information for my app, despite either creating wrapper entities or using the API associating with spotlight. With Siri AI, it would be so much more helpful for a disabled user to say "Orton Hall accessible entrance" and Siri to know that there's 1 accessible entrance indexed in spotlight in my app, and then show or open it, instead of querying the web or saying it can't answer the question. It has all available information already in spotlight to answer this question. Currently, as far as I'm aware, something like this simply doesn't work, unless your app conforms to the strict use cases of making reminders or calendar events, all of which aren't useful here. Can a Frameworks engineer please clarify precisely when and how IndexedEntities (paired with an a corresponding macro-annotated OpenIntent) eg: @AppIntent(schema: .system.open) struct OpenBuildingIntent: OpenIntent { @Parameter(title: "Building") var Building: BuildingEntity ... will or will not be visible using Siri AI? To me it seems I have wasted a lot of time porting actions within my app to App Intents, and viewable entities with AppEntity, only to have Siri not be able to use any of this information out of the box.
1
0
108
4d
App Intents and Entities without schemas
Hello, the only way to make Siri AI pick up my intent, or action on my intent + entity is that if BOTH use an schema? For example, I have an intent that adopts a schema, but my entity doesn't. That means Siri AI can't do anything with my intent? What if neither use a schema? Siri AI can't do anything with it? I'm asking because schema seems limited to only few domains which I'm not sure how I'll integrate with my apps.
1
1
112
5d
CSSearchableItemAttributeSet.associateAppEntity(_:priority:) causes "Failed to request donation" warning
I'm trying to associate a Core Spotlight item with an AppEntity during indexing by calling CSSearchableItemAttributeSet.associateAppEntity(_:priority:). However, every time I do so, I get the following warning in the console: {CSInlineDonation[async]: "my.app.bundle.identifier" add-update-items:1 delete-items:0}: Failed to request donation Error Domain=CSIndexErrorDomain Code=-1000 "Failed to request donation" UserInfo={NSDebugDescription=Failed to request donation, NSUnderlyingError=0x143f54ae0 {Error Domain=com.apple.CascadeSets.Set Code=3 "Access denied (<BMResource: set/App.Intents.IndexedEntity [CCSetDescriptor - key: sourceIdentifier value: my.app.bundle.identifier]>)" UserInfo={NSLocalizedDescription=Access denied (<BMResource: set/App.Intents.IndexedEntity [CCSetDescriptor - key: sourceIdentifier value: my.app.bundle.identifier]>), NSUnderlyingError=0x143f54ba0 {Error Domain=BMAccessErrorDomain Code=11 "Failed to prepare resource" UserInfo={NSLocalizedDescription=Failed to prepare resource}}}}} The relevant code is: let attributeSet = CSSearchableItemAttributeSet(contentType: .audiovisualContent) let appEntity = VideoAppEntity(...) attributeSet.associateAppEntity(appEntity) The Spotlight item itself is indexed successfully, but the associateAppEntity call appears to fail with an "Access denied" error related to App.Intents.IndexedEntity. Has anyone encountered this before? Are there additional entitlements, App Intents configuration requirements, or indexing prerequisites needed for associateAppEntity(_:priority:) to work correctly?
3
1
159
5d
OpenIntent vs .system.open App Schema: Which should be used for opening entities on iOS 27 and later?
I'm trying to understand the intended relationship between OpenIntent and the new .system.open App Intent schema introduced in iOS 27. From the documentation: OpenIntent (available since iOS 16) is described as an intent that opens an associated item. iOS 27 introduces the .system.open schema, which also appears to represent opening an entity or piece of app content. My questions are: For an app that supports iOS 27+, is .system.open intended to replace OpenIntent, or do the two serve different purposes? For apps that support both iOS 26 and iOS 27+, is the recommended approach to have two structs that implement the same opening logic, one with @AppIntent(schema: .system.open) and the other implementing the OpenIntent protocol? Thanks! References: open protocol OpenIntent
1
0
172
1w
.messages.message reaction field type vs. error from macro
The documented template for @AppEntity(schema: .messages.message) at Integrating your messaging app with Apple Intelligence and on the MessagesEntity.message reference page shows: var reaction: <#ReadReaction#>? with <#ReadReaction#> rendered as a placeholder (the Xcode placeholder syntax). A natural reading is "fill in your own type that you want to use here". I tried several: Tapback? where Tapback is @AppEnum(schema: .messages.customReaction) MessageReaction? (same, renamed) MessageReaction? with manual AppEnum conformance (no schema decoration) AttributedString? AttributedString (non-optional) field omitted entirely Each variant produced one of: error: Property 'reaction' type does not match required AppSchemaEntity property type 'ReadReactionCases:(Schema<Tapback> | AttributedString)' error: Required AppSchemaEntity property 'reaction' must be optional error: Missing required property 'reaction' from AppSchemaEntity 'messages.message' The phrase ReadReactionCases:(Schema<Tapback> | AttributedString) is opaque — ReadReactionCases isn't a public type, Schema<Tapback> isn't constructable from outside, and the documentation doesn't mention @UnionValue in this context. The actual working pattern, which I only found by downloading the UnicornChat sample and reading MessageEntity.swift, is: @UnionValue enum MessageReaction: Sendable { case customReaction(CustomReaction) } @AppEnum(schema: .messages.customReaction) enum CustomReaction: String, AppEnum { case sticker static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [ .sticker: "Sticker" ] } Two suggestions: Update the schema-template comment in the docs to either name MessageReaction explicitly with a @UnionValue annotation, or include a one-line note: "The reaction field is a @UnionValue enum wrapping the customReaction schema enum — see UnicornChat sample." The current placeholder <#ReadReaction#> plus the prose suggesting "you can generate the properties... with the @AppEntity(.messages.message) Swift macro" reads as if the developer just supplies any AppEnum-conformer. Improve the diagnostic. Property type does not match required AppSchemaEntity property type 'ReadReactionCases:(Schema<Tapback> | AttributedString)' is unhelpful because ReadReactionCases doesn't appear in any reachable type. Either rename to something developer-facing, or include a fix-it that suggests @UnionValue. iOS 27.0 beta, Xcode 27 beta, macOS Tahoe 26.4.
3
0
160
1w
Conforming existing App Intents / Entity to Schema
Our app already has a huge set of App Intents and Entities. Conceptually, our entities and intents matches well to the existing schemas (like the Notes schema). But because we have existing intents, we ran into two problems: Our existing intents/entities used different property names in the past and some properties are slightly different then the schema. Our existing intents are already used on older Versions of macOS / iOS. But the schema domain is only available on OS27 and later. What can we do to adopt the schema? Should we just duplicate all Intents / Entities and mark them as isAssistantOnly and limit their availability to OS27 and later?
0
1
106
1w
Rich SwiftUI Rendering in the Siri Overlay
For intents that return complex markdown, code snippets, or structured layouts, what are the rendering capabilities and resource constraints of custom SwiftUI views returned via Snippet inside the Siri voice overlay? Are interactive controls (like buttons, copy-to-clipboard, or scroll views) supported inside the Siri-overlay SwiftUI container?
1
0
234
2w
Using AssistantEntity with existing AppEntities for iOS17+
Hi, I have an existing app with AppEntities defined, that works on iOS17+. The AppEntities also have EntityPropertyQuery defined, so they work as 'find intents'. I want to use the new @AssistantEntity which is iOS18+ where possible, while supporting the previous versions. What's the best way to do this? For e.g. I have a 'log' AppEntity: @available(iOS 17.0, *) struct CJLogAppEntity: AppEntity { static var defaultQuery = CJLogAppEntityQuery() .... } struct CJLogAppEntityQuery: EntityPropertyQuery { ... } How do I adopt this with @AssistantEntity(schema: .journal.entry) for iOS18, while maintaining compatibility with iOS17? I don't want to include two different versions of the same AppEntity. Would it just with with the correct @available annotations on both entities?
5
1
229
2w
Using EntityPropertyQuery with SwiftData
I’m using SwiftData in my app and would like to support the standard „Find“ Shortcut. What is the best way to use the EntityPropertyQuery’s entities(matching: mode: sortedBy: limit:) function with SwiftData? I’m currently using a Swift Package called CompoundPredicate to construct my predicates based on the QueryProperties and the SortingOptions. I know that SwiftData started to support compound predicates with macOS 14.4/iOS 17.4 or later. But from what I understand they are not dynamic and are validated at compile time. What is a native way to handle this dynamic predicate case of App Intent fetches?
1
0
146
2w
Does On-Screen-Context from first party apps work at the moment?
Do apps like Files, Safari, and Finder provide on screen data on request? I've got an entity that implements transferable, but Siri is consistently telling me that it is unable to export data from Files, Safari and photos, and does not seem to want to construct my entity. (it's an @PhotoAsset entity, and I've implemented @createAssets as well.) Is that true at the moment that Siri cannot read data from those apps? I'm not sure if this is a bug or a feature.
0
0
116
2w
Is UISceneAppIntent supported in Designed for iPad apps on macOS?
I'm seeing what appears to be different UISceneAppIntent behavior between iOS and Designed for iPad on macOS, and I'd like to confirm whether this is expected. I'm working on an iOS app that defines an AppIntent conforming to UISceneAppIntent from the AppIntents framework. The intent is handled by a scene delegate conforming to both UIWindowSceneDelegate and AppIntentSceneDelegate. On iOS, everything works as expected: If the app is launched for the first time from Shortcuts, the intent is available via connectionOptions.appIntent in scene(_:willConnectTo:options:). If the app is already running, scene(_:willPerformAppIntent:) is called. However, when running the same iOS app on macOS in Designed for iPad mode, the behavior is different: If the app is launched from Shortcuts, connectionOptions.appIntent is always nil in scene(_:willConnectTo:options:). If the app is already running, scene(_:willPerformAppIntent:) is never called, even though the application is successfully activated. Is this expected behavior? I noticed that the AppIntents framework explicitly marks both AppIntentSceneDelegate and UISceneAppIntent as unavailable on macOS: @available(iOS 26.0, tvOS 26.0, *) @available(macOS, unavailable) @available(watchOS, unavailable) public protocol AppIntentSceneDelegate : UISceneDelegate Since the app is running on macOS in Designed for iPad mode and still uses the iOS binary, I wasn't sure whether these scene-based APIs are expected to work in this environment or whether they are intentionally unsupported. Has anyone from Apple or the community been able to confirm whether this behavior is by design, or whether it should be considered a bug? I'd appreciate any clarification.
Replies
1
Boosts
0
Views
60
Activity
1d
Receiving an on‑screen image from another app via App Intents / Siri (app has no photo library)
I have a photo editing app that owns no photo library. I want a user viewing an image in another app (e.g. Photos) to say "filter this image in MyApp" and have Siri hand that on‑screen image to my intent. Targeting iOS 27. What I've tried, and the result in each case: • App Shortcut + @Parameter var image: IntentFile — Siri resolves my other parameters (a filter AppEnum) by voice, but never binds the image; the run fails. • @AppIntent(schema: .photos.setFilter) with a .photos.asset entity — never routes from Photos. • @AppIntent(schema: .system.open): OpenIntent with a custom AppEntity target — "Open this image in MyApp" just launches the app by name; perform() is never called, and the entity query never runs. My understanding from WWDC26 "Build intelligent Siri experiences with App Schemas" (session 240) and "Discover new capabilities in the App Intents framework" (session 345): • Cross‑app content transfer (Transferable + IntentValueRepresentation) seems limited to system value types (IntentPerson, PlaceDescriptor); IntentFile is not a _SystemIntentValue, so an image can't ride that rail. • Onscreen awareness (NSUserActivity.appEntityIdentifier, View Annotations) appears to expose only the foreground app's own content — which here is Photos, not me. Question: Is there a supported way for a third‑party app to receive another app's on‑screen image (vs. a contact/place) through Siri/App Intents today? If so, which API carries the pixels — an IntentFile parameter, @UnionValue, IntentValueQuery, something else — and what must the source app do to make it available? Or is asking "do X to this image in <third‑party app>" simply not supported yet outside Shortcuts?
Replies
1
Boosts
1
Views
58
Activity
1d
Adopting AppIntents and AppEntities for Apple Intelligence
In my app, I adopt ‘App Intents’ and ‘App Entities’ for various items and actions in my app. These work in the Shortcuts app, and users can use Find Intents to lookup information or use the intents to act up on them, even though they don’t map on to any of the specific App ‘Schemes’ and ‘Domains’ that are listed. If I'm using just App Entities and Intents on their own, would these participate with the new Siri AI, without any additional work? For example, in my app, I have entities like Contacts, Tags, and ‘Visit Logs’. I have intents for 'create tag’, ‘add tags to a contact’, add a ‘Log’ to a 'contact' etc. These are specified in the AppShortcutsProvider list, but I have more than 10 intents. How would these work with the new Apple Intelligence and Siri? Or does Siri integration require AppSchema adoption?
Replies
8
Boosts
4
Views
352
Activity
2d
AppEnum filtering in Shortcuts
Hello, I have an AppEntity with an EntityQuery that conforms to EnumerableEntityQuery by providing an allEntities() method. This creates a default "Find" action in the Shortcuts app for that entity, including automatic filtering on primitive properties such as dates and numbers. The entity has an AppEnum property. However, the "Find" action returns zero results when filtering by that property – even though the enum value is correctly displayed when using the "View" action on the same entity. Conforming to EntityPropertyQuery and manually defining comparators does fix the enum filtering, but it replaces all of the system-generated filtering, requiring me to reimplement comparators for every property I want to remain filterable. Is this the intended behavior, or is automatic filtering on AppEnum properties something that should be supported out of the box? Sincerely, Holger
Replies
0
Boosts
0
Views
38
Activity
3d
Can I steer how Siri thinks of an @AppEntity(schema:X)?
I conform to @AppEntity(schema: .photos.album). I'm curious if I can steer how Siri thinks of these entities when the user speaks about them. While my app contains groups of images, they are not presented to the user as "albums". In fact "albums" from PhotoKit are used when creating these galleries. This distinction is important. The user is most likely to say "I want to open a gallery in " rather than "I want to open an album in " Is it possible to steer Siri into thinking of these AppEntities as galleries rather than albums? Similar to how IndexedEntity contains a CSSearchableItemAttributeSet ?
Replies
0
Boosts
0
Views
49
Activity
3d
visionOS no longer displays App Entities icon in the search results
In visionOS 2, the system search displays the icon of each App Entity registered. It used to work up to visionOS 26 beta 7. But since visionOS 26 beta 8, visionOS 26.x , and still in the current visionOS 27 Beta 2 the system search no longer display the right icon. Instead it displays the icon of an AppShortcut declared by the source code which uses the AppEntities. This does not help the users to find the right AppEntity in a search with multiple results as they all have the same AppShortcut icon. This "bug" also make the search result differ from the experience with iOS and iPadOS which display each AppEntity icon. You can use the Apple sample to see this bug on visionOS 27 Beta 2 and 26. Accelerating app interactions with App Intents AppEntities are an important part of Apple Intelligence, the system integration is really important for a great user experience. FB19915478
Replies
0
Boosts
0
Views
50
Activity
3d
Multiple schemas per entity
I wonder how to apply multiple schemas to the same entity. Just to give an example: Let's say we have a typical shoebox application for note taking. Notes can be organized in hierarchical folders. For notes the note entity schema makes obviously sense. And for folders we need to apply the schema notes.folder, so this entity type can be used with the createNode and updateNote intent schemas. But, it would also make sense to use the file schema for folder entities, as it allows me to use the createFolder intent schema or deleteFile. Unfortunately, I can only apply one schema to one entity. So I can't declare a folder as note.folder and file.file simultaneously. I thought about using multiple entity types for the same entity to have somewhat multiple representations, but I can only assign a single app entity identifier to a view.
Replies
2
Boosts
1
Views
112
Activity
4d
App Intents + Siri AI
Hey, Running iOS 27 beta and have App Intents working in the shortcuts app. When I ask the exact query via Siri it seems to say it can't do that and asks me to open the app to do it manually. Is this expected behaviour? A bug? Anything I need to double check? The app doesn't map to a schema directly.
Replies
4
Boosts
3
Views
223
Activity
4d
IndexedEntities and Siri AI
Currently, I have spotlight entities show up when I search for them using Spotlight on iOS 27. These entities are things that are important for users, like campus buildings, accessible entrances, assignments, and more. However, after getting access to Siri AI, it seems that none of this information at all is available to Siri, yet all of it is sitting there in the spotlight index and viewable with a written query. I was told by an Apple Engineer that creating Indexed and EnumerableEntities, and indexing them via the App Intents framework, should expose information about these items to Siri, so if I query: "[Building name] in Ohio State" it would at least show me what the app has for that information. Presently, Siri uses the web for everything and doesn't pull in any spotlight information for my app, despite either creating wrapper entities or using the API associating with spotlight. With Siri AI, it would be so much more helpful for a disabled user to say "Orton Hall accessible entrance" and Siri to know that there's 1 accessible entrance indexed in spotlight in my app, and then show or open it, instead of querying the web or saying it can't answer the question. It has all available information already in spotlight to answer this question. Currently, as far as I'm aware, something like this simply doesn't work, unless your app conforms to the strict use cases of making reminders or calendar events, all of which aren't useful here. Can a Frameworks engineer please clarify precisely when and how IndexedEntities (paired with an a corresponding macro-annotated OpenIntent) eg: @AppIntent(schema: .system.open) struct OpenBuildingIntent: OpenIntent { @Parameter(title: "Building") var Building: BuildingEntity ... will or will not be visible using Siri AI? To me it seems I have wasted a lot of time porting actions within my app to App Intents, and viewable entities with AppEntity, only to have Siri not be able to use any of this information out of the box.
Replies
1
Boosts
0
Views
108
Activity
4d
Siri waitlist
I downloaded the beta iOS 27 and I’m still on the waitlist, as are a whole bunch of other people. Is there like a bug of people not getting past the new Siri waitlist?
Replies
13
Boosts
5
Views
10k
Activity
4d
App Intents and Entities without schemas
Hello, the only way to make Siri AI pick up my intent, or action on my intent + entity is that if BOTH use an schema? For example, I have an intent that adopts a schema, but my entity doesn't. That means Siri AI can't do anything with my intent? What if neither use a schema? Siri AI can't do anything with it? I'm asking because schema seems limited to only few domains which I'm not sure how I'll integrate with my apps.
Replies
1
Boosts
1
Views
112
Activity
5d
CSSearchableItemAttributeSet.associateAppEntity(_:priority:) causes "Failed to request donation" warning
I'm trying to associate a Core Spotlight item with an AppEntity during indexing by calling CSSearchableItemAttributeSet.associateAppEntity(_:priority:). However, every time I do so, I get the following warning in the console: {CSInlineDonation[async]: "my.app.bundle.identifier" add-update-items:1 delete-items:0}: Failed to request donation Error Domain=CSIndexErrorDomain Code=-1000 "Failed to request donation" UserInfo={NSDebugDescription=Failed to request donation, NSUnderlyingError=0x143f54ae0 {Error Domain=com.apple.CascadeSets.Set Code=3 "Access denied (<BMResource: set/App.Intents.IndexedEntity [CCSetDescriptor - key: sourceIdentifier value: my.app.bundle.identifier]>)" UserInfo={NSLocalizedDescription=Access denied (<BMResource: set/App.Intents.IndexedEntity [CCSetDescriptor - key: sourceIdentifier value: my.app.bundle.identifier]>), NSUnderlyingError=0x143f54ba0 {Error Domain=BMAccessErrorDomain Code=11 "Failed to prepare resource" UserInfo={NSLocalizedDescription=Failed to prepare resource}}}}} The relevant code is: let attributeSet = CSSearchableItemAttributeSet(contentType: .audiovisualContent) let appEntity = VideoAppEntity(...) attributeSet.associateAppEntity(appEntity) The Spotlight item itself is indexed successfully, but the associateAppEntity call appears to fail with an "Access denied" error related to App.Intents.IndexedEntity. Has anyone encountered this before? Are there additional entitlements, App Intents configuration requirements, or indexing prerequisites needed for associateAppEntity(_:priority:) to work correctly?
Replies
3
Boosts
1
Views
159
Activity
5d
Sandboxed network permissions on macOS
Are there specific Entitlements (com.apple.security.temporary-exception.files.absolute-path.read-write or network exceptions) required to allow App Intents to talk to local UNIX sockets or loopback interfaces (127.0.0.1) without triggering sandbox violations?
Replies
1
Boosts
0
Views
137
Activity
1w
OpenIntent vs .system.open App Schema: Which should be used for opening entities on iOS 27 and later?
I'm trying to understand the intended relationship between OpenIntent and the new .system.open App Intent schema introduced in iOS 27. From the documentation: OpenIntent (available since iOS 16) is described as an intent that opens an associated item. iOS 27 introduces the .system.open schema, which also appears to represent opening an entity or piece of app content. My questions are: For an app that supports iOS 27+, is .system.open intended to replace OpenIntent, or do the two serve different purposes? For apps that support both iOS 26 and iOS 27+, is the recommended approach to have two structs that implement the same opening logic, one with @AppIntent(schema: .system.open) and the other implementing the OpenIntent protocol? Thanks! References: open protocol OpenIntent
Replies
1
Boosts
0
Views
172
Activity
1w
.messages.message reaction field type vs. error from macro
The documented template for @AppEntity(schema: .messages.message) at Integrating your messaging app with Apple Intelligence and on the MessagesEntity.message reference page shows: var reaction: <#ReadReaction#>? with <#ReadReaction#> rendered as a placeholder (the Xcode placeholder syntax). A natural reading is "fill in your own type that you want to use here". I tried several: Tapback? where Tapback is @AppEnum(schema: .messages.customReaction) MessageReaction? (same, renamed) MessageReaction? with manual AppEnum conformance (no schema decoration) AttributedString? AttributedString (non-optional) field omitted entirely Each variant produced one of: error: Property 'reaction' type does not match required AppSchemaEntity property type 'ReadReactionCases:(Schema<Tapback> | AttributedString)' error: Required AppSchemaEntity property 'reaction' must be optional error: Missing required property 'reaction' from AppSchemaEntity 'messages.message' The phrase ReadReactionCases:(Schema<Tapback> | AttributedString) is opaque — ReadReactionCases isn't a public type, Schema<Tapback> isn't constructable from outside, and the documentation doesn't mention @UnionValue in this context. The actual working pattern, which I only found by downloading the UnicornChat sample and reading MessageEntity.swift, is: @UnionValue enum MessageReaction: Sendable { case customReaction(CustomReaction) } @AppEnum(schema: .messages.customReaction) enum CustomReaction: String, AppEnum { case sticker static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [ .sticker: "Sticker" ] } Two suggestions: Update the schema-template comment in the docs to either name MessageReaction explicitly with a @UnionValue annotation, or include a one-line note: "The reaction field is a @UnionValue enum wrapping the customReaction schema enum — see UnicornChat sample." The current placeholder <#ReadReaction#> plus the prose suggesting "you can generate the properties... with the @AppEntity(.messages.message) Swift macro" reads as if the developer just supplies any AppEnum-conformer. Improve the diagnostic. Property type does not match required AppSchemaEntity property type 'ReadReactionCases:(Schema<Tapback> | AttributedString)' is unhelpful because ReadReactionCases doesn't appear in any reachable type. Either rename to something developer-facing, or include a fix-it that suggests @UnionValue. iOS 27.0 beta, Xcode 27 beta, macOS Tahoe 26.4.
Replies
3
Boosts
0
Views
160
Activity
1w
Conforming existing App Intents / Entity to Schema
Our app already has a huge set of App Intents and Entities. Conceptually, our entities and intents matches well to the existing schemas (like the Notes schema). But because we have existing intents, we ran into two problems: Our existing intents/entities used different property names in the past and some properties are slightly different then the schema. Our existing intents are already used on older Versions of macOS / iOS. But the schema domain is only available on OS27 and later. What can we do to adopt the schema? Should we just duplicate all Intents / Entities and mark them as isAssistantOnly and limit their availability to OS27 and later?
Replies
0
Boosts
1
Views
106
Activity
1w
Rich SwiftUI Rendering in the Siri Overlay
For intents that return complex markdown, code snippets, or structured layouts, what are the rendering capabilities and resource constraints of custom SwiftUI views returned via Snippet inside the Siri voice overlay? Are interactive controls (like buttons, copy-to-clipboard, or scroll views) supported inside the Siri-overlay SwiftUI container?
Replies
1
Boosts
0
Views
234
Activity
2w
Using AssistantEntity with existing AppEntities for iOS17+
Hi, I have an existing app with AppEntities defined, that works on iOS17+. The AppEntities also have EntityPropertyQuery defined, so they work as 'find intents'. I want to use the new @AssistantEntity which is iOS18+ where possible, while supporting the previous versions. What's the best way to do this? For e.g. I have a 'log' AppEntity: @available(iOS 17.0, *) struct CJLogAppEntity: AppEntity { static var defaultQuery = CJLogAppEntityQuery() .... } struct CJLogAppEntityQuery: EntityPropertyQuery { ... } How do I adopt this with @AssistantEntity(schema: .journal.entry) for iOS18, while maintaining compatibility with iOS17? I don't want to include two different versions of the same AppEntity. Would it just with with the correct @available annotations on both entities?
Replies
5
Boosts
1
Views
229
Activity
2w
Using EntityPropertyQuery with SwiftData
I’m using SwiftData in my app and would like to support the standard „Find“ Shortcut. What is the best way to use the EntityPropertyQuery’s entities(matching: mode: sortedBy: limit:) function with SwiftData? I’m currently using a Swift Package called CompoundPredicate to construct my predicates based on the QueryProperties and the SortingOptions. I know that SwiftData started to support compound predicates with macOS 14.4/iOS 17.4 or later. But from what I understand they are not dynamic and are validated at compile time. What is a native way to handle this dynamic predicate case of App Intent fetches?
Replies
1
Boosts
0
Views
146
Activity
2w
Does On-Screen-Context from first party apps work at the moment?
Do apps like Files, Safari, and Finder provide on screen data on request? I've got an entity that implements transferable, but Siri is consistently telling me that it is unable to export data from Files, Safari and photos, and does not seem to want to construct my entity. (it's an @PhotoAsset entity, and I've implemented @createAssets as well.) Is that true at the moment that Siri cannot read data from those apps? I'm not sure if this is a bug or a feature.
Replies
0
Boosts
0
Views
116
Activity
2w