App Intents

RSS for tag

Extend your app’s custom functionality to support system-level services, like Siri and the Shortcuts app.

Posts under App Intents tag

137 Posts

Post

Replies

Boosts

Views

Activity

NSUserActivity-based Shortcuts Integration Not Working on iOS 18+
Previously, we used NSUserActivity to enable invoking specific in-app features from the Shortcuts app. This worked as expected up to iOS 17, but it no longer works on iOS 18 and later. We’ve confirmed that the same functionality can be achieved by using App Intents as an alternative. Question. Is the change in iOS 18—where NSUserActivity-based Shortcuts integration no longer works (or is restricted)—an intentional behavior change? If so, could you point us to any relevant documentation or release notes describing this change? We’ve tried to find information ourselves but haven’t found any clear references. Request. In cases like this where an OS update impacts existing implementations, it would be very helpful if such changes were clearly documented in release notes or API change logs in advance.
0
0
23
16h
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
17
16h
Confused about App Intents integration in iOS27
I just watched the "Build Intelligent Siri experiences with App Schemas" and I'm confused about how to integrate my app with the new Apple Intelligence + Siri in iOS27. I think it mentions specifically that Siri needs to adopt App Schemas, and that just adopting App Intents in my app isn't enough for it to integrate with the new Siri. Is that correct? The 'schemas' seem to be a narrow set of specific activities. What if my app's actions (or intents) don't match closely with it? For example, in my app, I have entities like Tags and Contacts. I can 'create tag' as well as 'add tags to a contact' as 2 different App intents. If I'm using just App Intents on their own, would these not map to the new Siri? I can also add a 'task' to a 'contact'. Would that possibly work with Siri? The videos just don't seem to make an effort to explain what is and what isn't possible.
10
6
351
22h
Unions and @Schemas
Hello, I'm still working on my @addToAlbum schema implementation, and I'm exploring how multiple entities could be "destinations" to the intent. I considered using a @UnionValue for this, but I'm running into compiler difficulties trying to get a @UnionValue to conform to @AppEntity(schema: .photos.album) Am I out of luck on a Unionized "target" for the add-to-album intent?
0
0
14
22h
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?
0
0
23
1d
Can I import images into my app with App Intent Schemas?
I'm trying to create an App Intent that takes in an image and copies it to a destination within my app. Sure, this can be done with shortcuts, but that's lame, I want siri to grab an image off the screen and invoke the action! Without an app schema, it doesn't seem like siri can tell what's possible in the app, so I'm trying to find a schema that fits? I've started trying to do this with the photos.addAssetsToAlbum App Intent schema, but it doesn't seem like Siri is onboard with the concept. It's replied many times that it is unable to add things to my App and that I should try via other means like opening my app and importing directly. Should be I be trying this with a different intent schema?
2
0
53
1d
Siri Waitlisted Come On
It’s been since the end of WWDC Keynote, I’m still waitlisted for “New Siri” iOS 27 is done indexing. This is ridiculous. How many years I’ve been paying for a developer membership and they cannot release a simple plist file to open up the servers and let us in. Only the first that downloaded in the first 10 minutes got it while the rest of us that downloaded in the first 30 minutes are still waiting. its insane.
3
1
130
1d
Group AppIntents’ Searchable DynamicOptionsProvider in Sections
I’m trying to group my EntityPropertyQuery selection into sections as well as making it searchable. I know that the EntityStringQuery is used to perform the text search via entities(matching string: String). That works well enough and results in this modal: Though, when I’m using a DynamicOptionsProvider to section my EntityPropertyQuery, it doesn’t allow for searching anymore and simply opens the sectioned list in a menu like so: How can I combine both? I’ve seen it in other apps, but can’t figure out why my code doesn’t allow to section the results and make it searchable? Any ideas? My code (simplified) struct MyIntent: AppIntent { @Parameter(title: "Meter"), optionsProvider: MyOptionsProvider()) var meter: MyIntentEntity? // … struct MyOptionsProvider: DynamicOptionsProvider { func results() async throws -> ItemCollection<MyIntentEntity> { // Get All Data let allData = try IntentsDataHandler.shared.getEntities() // Create Arrays for Sections let fooEntities = allData.filter { $0.type == .foo } let barEntities = allData.filter { $0.type == .bar } return ItemCollection(sections: [ ItemSection("Foo", items: fooEntities), ItemSection("Bar", items: barEntities) ]) } } struct MeterIntentQuery: EntityStringQuery { // entities(for identifiers: [UUID]) and suggestedEntities() functions func entities(matching string: String) async throws -> [MyIntentEntity] { // Fetch All Data let allData = try IntentsDataHandler.shared.getEntities() // Filter Data by String let matchingData = allData.filter { data in return data.title.localizedCaseInsensitiveContains(string)) } return matchingData } }
1
2
696
1d
App Intents for audio playback actions in iOS 27
With SiriKit deprecated in iOS 27, I'm implementing App Intents from scratch for a frequency/ambient sound app. Should I conform to AudioPlaybackIntent from the Media framework or build a custom AppIntent? Specifically, I need intents for: play a named frequency, start sleep timer with duration, stop playback. Is there a recommended Intent entity type for audio content that isn't music (i.e. not MusicKit-backed)?
0
0
25
3d
Visual Intelligence API SemanticContentDescriptor labels are empty
I'm trying to use Apple's new Visual Intelligence API for recommending content through screenshot image search. The problem I encountered is that the SemanticContentDescriptor labels are either completely empty or super misleading, making it impossible to query for similar content on my app. Even the closest matching example was inaccurate, returning a single label ["cardigan"] for a Supreme T-Shirt. I see other apps using this API like Etsy for example, and I'm wondering if they're using the input pixel buffer to query for similar content rather than using the labels? If anyone has a similar experience or something that wasn't called out in the documentation please lmk! Thanks.
2
0
1.3k
2w
iOS 26.5 breaks AppIntents with AppEnums defined in Swift Package
For some reason since iOS 26.5, a ControlWidgetButton or a Button in a widget configured with an AppIntent conforming to OpenIntent fails to receive its AppEnum parameter correctly if the intent and enum are defined inside a shared Swift Package. Tapping the control widget button opens the main application, but it doesn't pass the AppEnum parameter value in, leaving the app on its default screen instead of navigating to the intended view. This was working perfectly in iOS 26.4, where the app would launch and receive the correct enum case from the intent. No code, configuration, or scheme changes were made between the two runs, only the simulator/OS version differs. Has anyone else run into what seems to be a regression on iOS 26.5? I filed feedback with a sample project: FB22848510
0
0
210
2w
WatchOS 26.5 breaks Action Button intent donation
For some reason since watchOS 26.5 my workout app can no longer receive action button presses during a workout unless the action button is configured to start a specified activity type. If the action button is configured to just open the app but not start an activity then at the start of a workout the app donates a StartWorkoutIntent. The result parameter is set to a 'NextButtonPress' intent so that the app is notified when the action button is pressed. This has been working fine since the action button first appeared back in 2022, but has suddenly stopped working with watchOS 26.5. Now when the app tries to donate the intent then it fails with the following error: The operation couldn’t be completed. (LNTranscriptErrorDomain error 1003.) Does anyone know what has changed and how I can get around it? Thanks.
2
0
333
3w
SetFocusFilterIntent broken in macOS 26.5
Since the update to macOS 26.5, SetFocusFilterIntent is broken in two ways: When using a SetFocusFilterIntent where the user can select one AppEntity out of a list, the selection is broken. Instead of the selected item, the first or two items at the same time are highlighted. The perform method of the SetFocusFilterIntent is never called. On iOS there seems to be a strange fix when the focus filter doesn't work, just conform the focus filter to a LiveActivityIntent: struct FocusFilter: SetFocusFilterIntent, LiveActivityIntent No solution for macOS yet.
0
0
340
3w
Do we need to migrate SiriKit INIntent to AppIntent for Siri AI?
Can the new Siri correctly handle SiriKit INIntent? My app uses INIntent like INSendMessageIntent. It is used not only for Siri action but also used Communication notifications and CarPlay and more OS features. Is any migration required?
Replies
1
Boosts
0
Views
31
Activity
2h
NSUserActivity-based Shortcuts Integration Not Working on iOS 18+
Previously, we used NSUserActivity to enable invoking specific in-app features from the Shortcuts app. This worked as expected up to iOS 17, but it no longer works on iOS 18 and later. We’ve confirmed that the same functionality can be achieved by using App Intents as an alternative. Question. Is the change in iOS 18—where NSUserActivity-based Shortcuts integration no longer works (or is restricted)—an intentional behavior change? If so, could you point us to any relevant documentation or release notes describing this change? We’ve tried to find information ourselves but haven’t found any clear references. Request. In cases like this where an OS update impacts existing implementations, it would be very helpful if such changes were clearly documented in release notes or API change logs in advance.
Replies
0
Boosts
0
Views
23
Activity
16h
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
17
Activity
16h
Siri without opening the app
Can App Intents perform authenticated backend calls (Bearer token in Keychain / App Group) and return structured results to Siri, or must execution always launch the host app first?
Replies
1
Boosts
0
Views
28
Activity
20h
Guardrails for Siri + App Intents"
With Siri AI and App Intents, we can surface content from apps. Can we add guardrails or configure what Siri can or cannot say when dictating content?
Replies
1
Boosts
1
Views
42
Activity
21h
Confused about App Intents integration in iOS27
I just watched the "Build Intelligent Siri experiences with App Schemas" and I'm confused about how to integrate my app with the new Apple Intelligence + Siri in iOS27. I think it mentions specifically that Siri needs to adopt App Schemas, and that just adopting App Intents in my app isn't enough for it to integrate with the new Siri. Is that correct? The 'schemas' seem to be a narrow set of specific activities. What if my app's actions (or intents) don't match closely with it? For example, in my app, I have entities like Tags and Contacts. I can 'create tag' as well as 'add tags to a contact' as 2 different App intents. If I'm using just App Intents on their own, would these not map to the new Siri? I can also add a 'task' to a 'contact'. Would that possibly work with Siri? The videos just don't seem to make an effort to explain what is and what isn't possible.
Replies
10
Boosts
6
Views
351
Activity
22h
Unions and @Schemas
Hello, I'm still working on my @addToAlbum schema implementation, and I'm exploring how multiple entities could be "destinations" to the intent. I considered using a @UnionValue for this, but I'm running into compiler difficulties trying to get a @UnionValue to conform to @AppEntity(schema: .photos.album) Am I out of luck on a Unionized "target" for the add-to-album intent?
Replies
0
Boosts
0
Views
14
Activity
22h
Spoken Locale Exposure (Dynamic Language Routing)
Does the App Intents framework expose the user's active spoken Siri locale (e.g., ja-JP, fr-FR) directly within the perform() context, or must the extension rely on the system's global locale setting? If a user switches Siri's language dynamically, how is that locale string propagated to the intent execution block?
Replies
1
Boosts
0
Views
29
Activity
1d
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
0
Boosts
0
Views
23
Activity
1d
Dynamic Runtime App Shortcuts
Can App Shortcuts (and their trigger phrases) be generated or translated dynamically at runtime based on user-defined configurations (e.g. download-on-demand language models or custom voice aliases), or must all voice shortcuts and translations be statically declared in the application's compiled String Catalogs (.xcstrings)?
Replies
0
Boosts
1
Views
20
Activity
1d
Voice-Streaming & Text-to-Speech (TTS) Latency
How does the App Intents framework support streaming spoken voice (TTS) output for long-form text responses? Is there an API (such as an asynchronous sequence or buffer stream) that allows Siri to begin speaking a response while the underlying AI engine is still generating the remainder of the text?
Replies
0
Boosts
0
Views
18
Activity
1d
Can I import images into my app with App Intent Schemas?
I'm trying to create an App Intent that takes in an image and copies it to a destination within my app. Sure, this can be done with shortcuts, but that's lame, I want siri to grab an image off the screen and invoke the action! Without an app schema, it doesn't seem like siri can tell what's possible in the app, so I'm trying to find a schema that fits? I've started trying to do this with the photos.addAssetsToAlbum App Intent schema, but it doesn't seem like Siri is onboard with the concept. It's replied many times that it is unable to add things to my App and that I should try via other means like opening my app and importing directly. Should be I be trying this with a different intent schema?
Replies
2
Boosts
0
Views
53
Activity
1d
Any debugging tools beyond AppIntentsTesting?
Are there any tools this year to debug why siri can't see a schema-based intent or chooses not to invoke it? Is it possible to see what inputs siri has within the context of the conversation that could cascade into intents of other applications? I've had difficulties with knowing if something should work, or of it's just not possible.
Replies
0
Boosts
0
Views
31
Activity
1d
Siri Waitlisted Come On
It’s been since the end of WWDC Keynote, I’m still waitlisted for “New Siri” iOS 27 is done indexing. This is ridiculous. How many years I’ve been paying for a developer membership and they cannot release a simple plist file to open up the servers and let us in. Only the first that downloaded in the first 10 minutes got it while the rest of us that downloaded in the first 30 minutes are still waiting. its insane.
Replies
3
Boosts
1
Views
130
Activity
1d
Group AppIntents’ Searchable DynamicOptionsProvider in Sections
I’m trying to group my EntityPropertyQuery selection into sections as well as making it searchable. I know that the EntityStringQuery is used to perform the text search via entities(matching string: String). That works well enough and results in this modal: Though, when I’m using a DynamicOptionsProvider to section my EntityPropertyQuery, it doesn’t allow for searching anymore and simply opens the sectioned list in a menu like so: How can I combine both? I’ve seen it in other apps, but can’t figure out why my code doesn’t allow to section the results and make it searchable? Any ideas? My code (simplified) struct MyIntent: AppIntent { @Parameter(title: "Meter"), optionsProvider: MyOptionsProvider()) var meter: MyIntentEntity? // … struct MyOptionsProvider: DynamicOptionsProvider { func results() async throws -> ItemCollection<MyIntentEntity> { // Get All Data let allData = try IntentsDataHandler.shared.getEntities() // Create Arrays for Sections let fooEntities = allData.filter { $0.type == .foo } let barEntities = allData.filter { $0.type == .bar } return ItemCollection(sections: [ ItemSection("Foo", items: fooEntities), ItemSection("Bar", items: barEntities) ]) } } struct MeterIntentQuery: EntityStringQuery { // entities(for identifiers: [UUID]) and suggestedEntities() functions func entities(matching string: String) async throws -> [MyIntentEntity] { // Fetch All Data let allData = try IntentsDataHandler.shared.getEntities() // Filter Data by String let matchingData = allData.filter { data in return data.title.localizedCaseInsensitiveContains(string)) } return matchingData } }
Replies
1
Boosts
2
Views
696
Activity
1d
App Intents for audio playback actions in iOS 27
With SiriKit deprecated in iOS 27, I'm implementing App Intents from scratch for a frequency/ambient sound app. Should I conform to AudioPlaybackIntent from the Media framework or build a custom AppIntent? Specifically, I need intents for: play a named frequency, start sleep timer with duration, stop playback. Is there a recommended Intent entity type for audio content that isn't music (i.e. not MusicKit-backed)?
Replies
0
Boosts
0
Views
25
Activity
3d
Visual Intelligence API SemanticContentDescriptor labels are empty
I'm trying to use Apple's new Visual Intelligence API for recommending content through screenshot image search. The problem I encountered is that the SemanticContentDescriptor labels are either completely empty or super misleading, making it impossible to query for similar content on my app. Even the closest matching example was inaccurate, returning a single label ["cardigan"] for a Supreme T-Shirt. I see other apps using this API like Etsy for example, and I'm wondering if they're using the input pixel buffer to query for similar content rather than using the labels? If anyone has a similar experience or something that wasn't called out in the documentation please lmk! Thanks.
Replies
2
Boosts
0
Views
1.3k
Activity
2w
iOS 26.5 breaks AppIntents with AppEnums defined in Swift Package
For some reason since iOS 26.5, a ControlWidgetButton or a Button in a widget configured with an AppIntent conforming to OpenIntent fails to receive its AppEnum parameter correctly if the intent and enum are defined inside a shared Swift Package. Tapping the control widget button opens the main application, but it doesn't pass the AppEnum parameter value in, leaving the app on its default screen instead of navigating to the intended view. This was working perfectly in iOS 26.4, where the app would launch and receive the correct enum case from the intent. No code, configuration, or scheme changes were made between the two runs, only the simulator/OS version differs. Has anyone else run into what seems to be a regression on iOS 26.5? I filed feedback with a sample project: FB22848510
Replies
0
Boosts
0
Views
210
Activity
2w
WatchOS 26.5 breaks Action Button intent donation
For some reason since watchOS 26.5 my workout app can no longer receive action button presses during a workout unless the action button is configured to start a specified activity type. If the action button is configured to just open the app but not start an activity then at the start of a workout the app donates a StartWorkoutIntent. The result parameter is set to a 'NextButtonPress' intent so that the app is notified when the action button is pressed. This has been working fine since the action button first appeared back in 2022, but has suddenly stopped working with watchOS 26.5. Now when the app tries to donate the intent then it fails with the following error: The operation couldn’t be completed. (LNTranscriptErrorDomain error 1003.) Does anyone know what has changed and how I can get around it? Thanks.
Replies
2
Boosts
0
Views
333
Activity
3w
SetFocusFilterIntent broken in macOS 26.5
Since the update to macOS 26.5, SetFocusFilterIntent is broken in two ways: When using a SetFocusFilterIntent where the user can select one AppEntity out of a list, the selection is broken. Instead of the selected item, the first or two items at the same time are highlighted. The perform method of the SetFocusFilterIntent is never called. On iOS there seems to be a strange fix when the focus filter doesn't work, just conform the focus filter to a LiveActivityIntent: struct FocusFilter: SetFocusFilterIntent, LiveActivityIntent No solution for macOS yet.
Replies
0
Boosts
0
Views
340
Activity
3w