Shortcuts

RSS for tag

Help users quickly accomplish tasks related to your app with their voice or with a tap with the Shortcuts API.

Posts under Shortcuts tag

200 Posts

Post

Replies

Boosts

Views

Activity

Time of day shortcut not triggering
I have a shortcut that should repeat on the 1st Saturday of every month at 8 am. However, it doesn't trigger. If I set it to trigger daily, it works; if I set it to repeat weekly, it works. But if I set it to repeat on the first Saturday, it doesn't. The option to select the first Saturday is native in the Shortcuts app. Select time of day -> Repeat -> Frequency Monthly -> Change "each" to "on the"
Topic: Design SubTopic: General Tags:
2
0
591
14h
https://apps.apple.com/app/id6815765181
A Shortcuts automation with the "When I get a notification" trigger does not run for every delivered notification. There is no error or indication that a run was skipped. Repro (iPhone 16 Pro, iOS 27.0.1 (24A446)) : Create a shortcut with the "When I get a notification" trigger for Instagram and turn on its automation. Add a single "Append to Note" action that appends the notification's Title, Body, and Date. From another device, send 10 numbered DMs within about 15 seconds. Result all 10 notifications appeared in Notification Center, but only 7 entries were appended to the note (#2, #4, #6 missing). My app relies on this trigger to save notification history, and users report missing notifications. Is this trigger expected to run for every delivered notification, or is it best-effort? If anyone else sees this, filing a duplicate referencing FB25255777 would help.
0
0
256
5d
Siri AI AppIntent snippets don’t size correctly and take up the full width in iOS 27.1 RC
I have been trying to create snippet views for my AppShortcuts which fill the full width of the container. Doing this via either .frame(minWidth: 0, maxWidth. infinity) or .containerRelativeFrame() work perfectly fine when my snippet is presented from Shortcuts.app (though sometimes the wrong color scheme is displayed), but when I invoke my AppShortcut from Siri AI and it presents the snippet there, it's offset on the trailing side by sometimes up to over 30 points, which has frustrating effects on the UI I am trying to implement. I've noted the insets are different too depending on whether the snippet is presented from what AppIntents method invokes it requestConfirmation or .result respectively. Here's some screenshots showing the issue. All these use the exact same snippet view, but all have different results in how they look and are inset. In App (how I want it to look) In Shortcuts (fine I guess) And finally, in the Siri app. I have reproduced this is issue and distilled it in a sample project. Please ensure this routes to the correct team: FB25164368. Thanks!
0
0
171
1w
Supported way to return the user to the app they chose after a pause screen (App Intent from an "App is Opened" automation)
We're building a Screen Time / mindful-pause app for iOS 26–27. The user adds a Shortcuts personal automation "When is Opened" that runs our App Intent. The intent passes the trigger app's Bundle Identifier (from the trigger output) and shows a short pause screen. When the user taps "Continue", we want to take them back into that app — only the one app they chose, only after they tap. Is there a supported API to open another installed app when the user taps Continue, given its bundle identifier from the Shortcuts trigger? A DTS reply in 2024 said there was no supported way (thread 740707). Has anything changed in iOS 26/27? (Related feedback: FB15500695.) If not, is it acceptable to open the chosen app via a URL scheme it registers in its Info.plist, including a third-party sign-in callback scheme, purely to bring it to the foreground? Many apps register no URL scheme. Is there a recommended pattern — e.g. handing control back to Shortcuts so the automation or the "Open App" action opens the trigger app — without the "App is Opened" automation firing again in a loop? What's the recommended way to avoid that re-fire? We currently ignore it for a short time window. A minimal sample project reproduces this (App Intent, pause screen, Continue using UIApplication.open). Happy to share it. Xcode 27.0 (27A266a), iOS 27.0 (24A446).
0
0
118
1w
Shortcuts Automation "Always Allow" Not Persisting for Wallet "After Payment" Trigger with App Intents
Hi,I'm developing an iOS app that uses App Intents to log Wallet payment transactions via Shortcuts automation with the "After Payment" trigger. The Issue: When users set up a Personal Automation with "Run Immediately" enabled and select "Always Allow" on the permission prompt, the permission does not persist. Every subsequent Wallet transaction triggers the "Allow Once / Always Allow" dialog again. Reproduction: App exposes an App Intent (LogWalletTransactionIntent) with openAppWhenRun = false User creates Personal Automation in Shortcuts app: Trigger: Wallet → After Payment Action: Log Wallet Transaction Set automation to "Run Immediately" First Wallet payment → permission prompt appears → user selects "Always Allow" Second Wallet payment → permission prompt appears again (expected: silent execution) Observations: When the user sets up the automation manually (adds the App Intent action inline and maps fields manually), "Always Allow" works correctly — no repeated prompts The issue occurs when the action is referenced via a pre-configured .shortcut file that has variable descriptors embedded for the parameters The bundled shortcut contains Descriptor mappings for card and merchant parameters Questions: Is this a known limitation of how iOS handles permission persistence for App Intents invoked through pre-configured shortcuts vs. inline automation actions? Does the distribution method affect this behavior — will Ad Hoc (alpha), TestFlight (beta), and App Store (production) builds behave differently regarding permission persistence? Is there a recommended approach for bundling pre-configured shortcuts that avoids repeated permission prompts? Environment: iOS 18.x (also observed on earlier versions) App Intent with String and Double parameters with default:` values openAppWhenRun = false Distribution: Ad Hoc via PGY Any insights would be appreciated. Thanks!
0
0
118
2w
Unexpected Shortcut Behavior
Heya devs 👋 I am hoping that you might help me with an issue I am having with a Shortcut I have created that's behaving unexpectedly. If you'd like, you can download the Copy Obsidian Link Shortcut to test yourself. Here's a screenshot of the Shortcut: The Shortcut should create an Obsidian Markdown external link when used as a Quick Action from the Finder, e.g., right-clicking on the file Caption - Creative.png in the subfolder PNGs/ and selecting Quick Actions → Create Obsidian Link should send [Caption - Creative.png](file:///Users/user/Documents/Writing-Workspace/PNGs/Caption%20-%20Creative.png) to the paste buffer Instead, [Caption - Creative](file:///Users/user/Library/Group%20Containers/group.com.apple.shortcuts/Temporary/com.apple.WorkflowKit.BackgroundShortcutRunner/Caption%20-%20Creative.txt) is copied. Please help me debug this issue! If you can think of a better place for me to ask this question, I'd be grateful for that even. I've asked on the Obsidian forum and Discord channel already, but haven't got any response.
1
0
149
2w
iOS 27.2 beta: App Shortcut phrase fails, but a named personal shortcut runs the same intent
I'm investigating a Siri invocation failure with an explicitly declared App Shortcut phrase. The same underlying App Intent works when run directly in Shortcuts and when invoked by the name of a saved personal shortcut. Environment: iPhone 17 Pro Max, iOS 27.2 beta (24B5099f), clean restore without a backup. iPhone and Siri languages: Italian. Standard Siri, no Siri AI. Xcode 27.2 (27B5028f), iphoneos 27.2 SDK. Italian App Shortcut phrase and app metadata. PetroCheck 1.3 (637), already open during the failing invocation. The published phrase is “Trova carburanti vicini con PetroCheck”, declared using \(.applicationName). This is a phrase-based App Shortcut; the intent does not adopt an App Schema. What I observe: Saying the App Shortcut phrase produces a generic Siri error: “mi dispiace, ma si è verificato un errore”. Running the action directly in Shortcuts succeeds and records execution in the app's intent journal. Saving a personal shortcut named “Diagnostica Petro” with just that action, then saying “Esegui Diagnostica Petro”, also succeeds and records execution. Returning only a minimal Text snippet from the original intent does not resolve the phrase invocation failure. For two captured failing phrase invocations, the device logs show BackgroundShortcutRunner failing to resolve the workflow reference: -[WFWorkflowDatabaseRunDescriptor(Conversion) workflowReferenceWithDatabase:error:] Couldn't find shortcut with descriptor: <private> reason: unable to resolve workflow reference from descriptor The first of these attempts has no new entry at the recorded start of perform(). The descriptor itself is redacted, so I cannot identify which reference Siri selected. A subsequent attempt also contains these assistantd messages shortly before the descriptor error: Found no AppShortcutTargets! Could not cast to VoiceCommand task to create AppShortcut invocation AppShortcuts enablement result=false I am including these as observations, without interpreting them as proof of a disabled setting. Calling updateAppShortcutParameters() at launch did not resolve the failure. I checked the compiled device bundle's App Intents metadata: the action is discoverable, its fuel parameter is optional, and the declared shortcut points to the correct intent. The Italian training metadata contains the phrase and the application name PetroCheck. This verifies the compiled metadata, not the device's registration database. I then built a separate app, “Prova Petro”, with a different bundle identifier, a fresh phrase, one intent with no parameters, and a dialog-only result. It has no location, networking, snippet or dependencies from the original app. The Siri phrase fails in this app too. I have not yet captured its intent diary or host logs, so I cannot claim that the minimal app fails at exactly the same stage. These are the core declarations from the compiled minimal project; the sample's journal calls are omitted here: import AppIntents struct RoutingProbeIntent: AppIntent { static let title: LocalizedStringResource = "Verifica collegamento Siri" static let supportedModes: IntentModes = [.background] func perform() async throws -> some IntentResult & ProvidesDialog { return .result(dialog: "Il comando Siri ha raggiunto Prova Petro.") } } struct ProbeShortcuts: AppShortcutsProvider { static var appShortcuts: [AppShortcut] { AppShortcut( intent: RoutingProbeIntent(), phrases: ["Verifica Siri con \(.applicationName)"], shortTitle: "Verifica collegamento Siri", systemImageName: "checkmark.circle" ) } } The minimal app's display name is Prova Petro, and the spoken phrase is “Verifica Siri con Prova Petro”. Its App.init() calls ProbeShortcuts.updateAppShortcutParameters(). The extracted metadata confirms one shortcut, zero parameters, dialog-only output, and the Italian application name and phrase. Has anyone reproduced this difference between an App Shortcut phrase and a named personal shortcut on iOS 27.2 beta, particularly with Italian phrases? Feedback Assistant: FB25077916. The complete minimal Xcode project and scoped diagnostics are attached to the report. Is there anything missing from this setup, or a supported way to diagnose the unresolved shortcut reference? Comparisons with other OS builds, languages or devices would be useful. I have not yet established a regression against a stable OS release. Prova Petro minimal source and Siri routing logs
0
0
151
2w
iOS 27 Simulator: “Describe a Shortcut” stuck on “Preparing support”
I'm trying to test the new “Describe a Shortcut” feature in iOS 27 using an iPhone 17 Simulator. When I open Shortcuts and tap “Describe a Shortcut”, it stays on: “Preparing support for describe a shortcut” and the text field remains disabled. I cannot enter anything or create the shortcut. My setup: Mac: MacBook Pro macOS: 27 Xcode: 26.5 (17F42) Simulator: iPhone 17 iOS: 27 I also have a physical iPhone 14 Pro, but I understand that it doesn't support Apple Intelligence, so I'm trying to test this using the iPhone 17 Simulator. Do I need to enable/download anything for Apple Intelligence on the Mac or Simulator? Or is “Describe a Shortcut” currently unsupported/not working in the iOS 27 Simulator? Any guidance on the correct setup would be appreciated.
0
0
407
Sep ’26
Please add “Label” support to the “Start Timer” action in Shortcuts
Hi Apple Developer Forums, I’m a heavy user of the Shortcuts app and the new multiple timers in iOS have been incredibly helpful. However, there is one limitation that makes them hard to use in automations. Right now, the “Start Timer” action in Shortcuts does not let you set a Label for the timer. This means when a timer created by a shortcut goes off, I can’t tell what it was for (for example, a 15‑minute laundry timer vs. a 15‑minute tea timer), even though labeled timers already work perfectly in the Clock app. Feature request: please add a Label field to the “Start Timer” action in Shortcuts so automations can create named timers, just like in the Clock app. This would make multiple timers much more practical for automation and for power users. Thank you for considering this improvement.
0
0
156
Sep ’26
Error "Run Javascript on Active Safari Tab" fails when after shortcuts logic
I'v been using a shortcut from the iOS/ipadOS share sheet in safari for several months now successfully and tried to use/port it to macOS: The "Run Javascript on Active Safari Tab" (RJOACST) action fails on MacOS if logic based on native shortcut actions is executed before / in front of it. The same shortcut does work on iOS and iPadOS. Here's the shortcut: https://www.icloud.com/shortcuts/613fe9b4464c401380159eb8160eb485 The Error on macOS reads: ''' DEV Safari Recipee 2 JS Reminders N... Unable to Run JavaScript on Web Page Make sure Allow JavaScript from Apple Events is enabled in the Develop menu in Safari. The Develop menu can be enabled in the Advanced section of Safari's Preferences. ''' BUT: simpler shortcuts with just the RJOASF Javascscript (e.g. the default script) DO work on the same machine. All settings are correct. When refactoring the initial logic from shortcuts action into Javascript code and calling the RJOACST silently lets the shortcut die. Any lead/hint appreciated. I did try to retrieve the shortcuts input shortly before the RJOACST is executed. PS: The file Recipes.json contains a list of sites to scrape recipe ingredients from - find the example here: ''' { "deli-berlin.com": { "selectorType": "xpath", "selectorExpression": "//div[contains(@class,'wprm-recipe-ingredient-group')]/ul/li", "extractionType": "text", "joinArrayString": "\n", "cleanupRules": [], "sampleUrl": "https://deli-berlin.com/rezept-vegane-lasagne/", "cachedHtml": "", "baselineIngredientsText": "", "activeVariationId": "row", "variations": [], "snapshotNote": "", "lastTestStatus": "untested", "lastTestedDate": "", "lastTestError": "", "htmlUpdatedAt": "", "baselineUpdatedAt": "", "ruleConfigUpdatedAt": "", "history": [] }, "www.allrecipes.com": { "selectorType": "xpath", "selectorExpression": "//ul[contains(@class,'mntl-structured-ingredients__list')]/li", "extractionType": "text", "joinArrayString": "\n", "cleanupRules": [ { "find": "\n{2,}", "replace": "\n", "active": true, "phase": "beforeJoin" } ], "sampleUrl": "https://www.allrecipes.com/recipe/221361/traditional-sauerbraten/", "cachedHtml": "", "baselineIngredientsText": "", "activeVariationId": "row", "variations": [], "snapshotNote": "", "lastTestStatus": "untested", "lastTestedDate": "", "lastTestError": "", "htmlUpdatedAt": "", "baselineUpdatedAt": "", "ruleConfigUpdatedAt": "", "history": [] } } '''
0
0
406
Sep ’26
Is there any public way to create a pre-filled note in Notes.app from a third-party iOS app?
I'm building a cross-platform app (.NET MAUI) on ios with a feature that lets users send a block of text to their preferred note-taking app to save for later. This works fine via their documented x-callback-url schemes (e.g. bear://x-callback-url/create?text=...). I'd like to support Apple's own Notes app the same way, but I can't find a documented mechanism to do so. Questions: Is there a URL scheme for Notes.app that a third-party app can use to open it, and if so, does it support passing in content for a new note? Is there any officially supported way — App Intents, or otherwise — to create a new note with pre-filled text in Notes.app from another app? Does the new Notes domain under App Intents (iOS 18+) apply to Apple's own Notes app, or is it purely a schema that third-party note apps can adopt for themselves? If it does apply, is there a way to invoke it directly from another app's UI rather than only via Siri/Shortcuts? If none of the above exists, is routing through the standard share sheet the intended/only supported approach for this use case going forward? Thanks in advance — wanting to make sure I'm not missing a documented mechanism before concluding this isn't possible.
1
0
533
Sep ’26
App Shortcuts Action button default parameter
Hello, I have a question about App Intents and the Action button on iPhone. I have an App Intent that opens the app and navigates to a specific entity, conforming to OpenIntent with a single AppEntity parameter. The entity conforms to EnumerableEntityQuery, and the intent is registered as an App Shortcut via the AppShortcutsProvider. When assigning this shortcut to the Action button in Settings, the system doesn’t prompt the user to select a default entity upfront. Instead, it prompts on every activation, creating friction. In contrast, shortcuts like “Open Note…” and other third-party ones prompt the user for a note to open when setting up the Action button, and its title also includes three dots, indicating a pre-configurable parameter. My shortcut’s title shows no dots. What’s required to make an App Shortcut prompt for a default parameter during Action button setup? Sincerely, Holger
4
0
1.4k
Sep ’26
Develop Certificate Has Wrong Apple ID???
When trying to develop an Apple Shortcut, the shortcut doesn't appear (after many open, quit, adding permissions, etc.). My only Apple Account is my name associated with an Apple ID of QZ99..... However, when I try to check one (of many reasons) why it does not show up with Terminal: codesign -dv --verbose=4 "/Applications/My App.app" etc, it shows something "rejected" Authority=Apple Worldwide Developer Relations Certification Authority Authority=Apple Root CA Signed Time=Aug 25, 2026 at 1:26:38 PM Info.plist entries=22 TeamIdentifier=QZ99... Runtime Version=26.5.0 Sealed Resources version=2 rules=13 files=4 Internal requirements count=1 size=204 /Applications/Write Create Date from Original.app: rejected origin=Apple Development: My Account (K533...) The K533... is different than my Team ID of QZ99... Could that be a reason my app is not registered with Shortcuts? Is that expected functionality? I guess I expected my Team ID to appear everywhere even after I deleted my account in Xcode, removed a current and expired certificate associated with K533 in Keychain, and then added my account back, and let Xcode regenerate a certificate.
2
0
818
Aug ’26
AppShortcutsProvider not detected by the Shortcuts app – app built entirely with Swift Playgrounds + TestFlight
Context I built an app entirely using Swift Playgrounds on iPad (no access to a Mac / Xcode). The app is distributed via TestFlight and installed on an iPhone. Problem I implemented an AppShortcutsProvider with simple AppShortcut entries (code below), but no shortcuts show up in the Shortcuts app, in the list of apps with shortcuts, or via Siri. What I've already tried without success: Full restart of the iPhone Deleting the app's data Fully uninstalling and reinstalling the app A new TestFlight build (with incremented build number) after adding the code Confirming the phrases correctly include (.applicationName) as required Question Is the Extract AppIntentsMetadata build step (which generates the metadata.appintents file) actually executed when compiling/submitting via Swift Playgrounds on iPad, or is this a known limitation of the tool that would prevent App Shortcuts from being indexed by Shortcuts/Siri? Environment Swift Playgrounds version: [check in the app under Settings > General > About] iOS version on test iPhone: [fill in] Project deployment target: [fill in if known, otherwise note that you have no way to check this without Xcode] Provider code: import SwiftUI import AppIntents // ============================================================ // MARK: - TEST INTENT // ============================================================ struct TestExpenseIntent: AppIntent { static let title: LocalizedStringResource = "Test dépense" static let description = IntentDescription( "Teste l'intégration de l'application avec Raccourcis." ) static let isDiscoverable = true func perform() async throws -> some IntentResult { return .result(dialog: "Ça fonctionne !") } } // ============================================================ // MARK: - ADD EXPENSE INTENT // ============================================================ struct AddApplePayExpenseIntent: AppIntent { static let title: LocalizedStringResource = "Ajouter une dépense" static let description = IntentDescription( "Ajoute une dépense à un Tricount." ) static let isDiscoverable = true static let openAppWhenRun = false @Parameter(title: "Montant") var amount: Double? @Parameter(title: "Marchand") var merchant: String? func perform() async throws -> some IntentResult { let valAmount = amount ?? 0.0 let valMerchant = merchant ?? "Inconnu" print("Montant :", valAmount) print("Marchand :", valMerchant) return .result( dialog: "Dépense de \(valAmount) € chez \(valMerchant)." ) } } // ============================================================ // MARK: - SHORTCUTS // ============================================================ struct MyAppShortcuts: AppShortcutsProvider { static var shortcutTileColor: ShortcutTileColor = .blue static let appShortcuts: [AppShortcut] = [ AppShortcut( intent: TestExpenseIntent(), phrases: [ "Tester \(.applicationName)" ], shortTitle: "Test dépense", systemImageName: "plus.circle" ), AppShortcut( intent: AddApplePayExpenseIntent(), phrases: [ "Ajouter une dépense dans \(.applicationName)", "Ajouter \(\.$amount) dans \(.applicationName)" ], shortTitle: "Ajouter une dépense", systemImageName: "plus.circle" ) ] }
1
0
464
Aug ’26
Adding an OptionsCollection to an existing AppShortcut hides all other parameterless App Shortcuts from the Shortcuts app UI
Hi all, I’m seeing what looks like a bug with AppShortcutParameterPresentation and the Shortcuts app. Any time I provide an OptionsCollection to a shortcut so I can give it a nice category name and symbol in Shortcuts, it hides all other existing app shortcuts that my app has from the UI. I have created a sample that illustrates the problem. My app provides two App Shortcuts: A simple shortcut with no parameters. A shortcut with two parameters. Its Destination parameter uses AppShortcutParameterPresentation to generate “Home” and “Office” options in a separate section. When the second shortcut is present, the first parameterless shortcut disappears from the Shortcuts app. If I comment out the shortcut containing parameterPresentation, the parameterless shortcut appears again. Before commenting out: After commenting out the second shortcut: Here's the code: import AppIntents struct ParameterlessIntent: AppIntent { static let title: LocalizedStringResource = "Parameterless Intent" static let description = IntentDescription("Runs without asking for any parameters.") func perform() async throws -> some IntentResult { .result() } } struct ParameterizedIntent: AppIntent { static let title: LocalizedStringResource = "Parameterized Intent" static let description = IntentDescription("Runs with a destination and a copy count.") // The same provider is used by this parameter and by ParameterPresentation below. @Parameter( title: "Destination", optionsProvider: DestinationOptionsProvider() ) var destination: String @Parameter(title: "Copy Count", default: 1) var copyCount: Int static var parameterSummary: some ParameterSummary { Summary("Send \(\.$copyCount) copies to \(\.$destination)") } func perform() async throws -> some IntentResult { .result() } } nonisolated struct DestinationOptionsProvider: DynamicOptionsProvider { func results() async throws -> [String] { // Each generated App Shortcut option is a value for the Destination parameter. ["Home", "Office"] } } struct BugReproductionShortcuts: AppShortcutsProvider { static var appShortcuts: [AppShortcut] { // This parameterless shortcut should always appear in the Shortcuts app. AppShortcut( intent: ParameterlessIntent(), phrases: [ "Run the parameterless shortcut with \(.applicationName)" ], shortTitle: "Do I exist?", systemImageName: "1.circle" ) #warning("The presence of this shortcut causes the top one no longer appear in Shortcuts.app") AppShortcut( intent: ParameterizedIntent(), phrases: [ "Run the parameterized shortcut with \(.applicationName)" ], shortTitle: "Parameterized Shortcut", systemImageName: "2.circle", parameterPresentation: ParameterPresentation( for: \.$destination, summary: Summary("Send to \(\.$destination)") ) { // This title and symbol create a separate section in Shortcuts. OptionsCollection( DestinationOptionsProvider(), title: "Destination Shortcuts", systemImageName: "mappin.and.ellipse" ) } ) } } This code and reproduction is as of Xcode 27 Beta 6 and happens on older versions as well. Is there a known limitation with this or is this somehow expected behavior? If so, how can I mitigate this issue and provide a nice title for another shortcut, while keeping the old parameterless shortcuts present? Thanks!
1
0
708
Aug ’26
AppShortcutsProvider not detected by the Shortcuts app – app built entirely with Swift Playgrounds
Context I built an app entirely using Swift Playgrounds on iPad (no access to a Mac / Xcode). The app is distributed via TestFlight and installed on an iPhone. Problem I implemented an AppShortcutsProvider with simple AppShortcut entries (code below), but no shortcuts show up in the Shortcuts app, in the list of apps with shortcuts, or via Siri. What I've already tried without success: Full restart of the iPhone Deleting the app's data Fully uninstalling and reinstalling the app A new TestFlight build (with incremented build number) after adding the code Confirming the phrases correctly include (.applicationName) as required Question Is the Extract AppIntentsMetadata build step (which generates the metadata.appintents file) actually executed when compiling/submitting via Swift Playgrounds on iPad, or is this a known limitation of the tool that would prevent App Shortcuts from being indexed by Shortcuts/Siri? Provider code: import SwiftUI import AppIntents // ============================================================ // MARK: - TEST INTENT // ============================================================ struct TestExpenseIntent: AppIntent { static let title: LocalizedStringResource = "Test dépense" static let description = IntentDescription( "Teste l'intégration de l'application avec Raccourcis." ) static let isDiscoverable = true func perform() async throws -> some IntentResult { return .result(dialog: "Ça fonctionne !") } } // ============================================================ // MARK: - ADD EXPENSE INTENT // ============================================================ struct AddApplePayExpenseIntent: AppIntent { static let title: LocalizedStringResource = "Ajouter une dépense" static let description = IntentDescription( "Ajoute une dépense à un Tricount." ) static let isDiscoverable = true static let openAppWhenRun = false @Parameter(title: "Montant") var amount: Double? @Parameter(title: "Marchand") var merchant: String? func perform() async throws -> some IntentResult { let valAmount = amount ?? 0.0 let valMerchant = merchant ?? "Inconnu" print("Montant :", valAmount) print("Marchand :", valMerchant) return .result( dialog: "Dépense de \(valAmount) € chez \(valMerchant)." ) } } // ============================================================ // MARK: - SHORTCUTS // ============================================================ struct MyAppShortcuts: AppShortcutsProvider { static var shortcutTileColor: ShortcutTileColor = .blue static let appShortcuts: [AppShortcut] = [ AppShortcut( intent: TestExpenseIntent(), phrases: [ "Tester (.applicationName)" ], shortTitle: "Test dépense", systemImageName: "plus.circle" ), AppShortcut( intent: AddApplePayExpenseIntent(), phrases: [ "Ajouter une dépense dans (.applicationName)", "Ajouter (.$amount) dans (.applicationName)" ], shortTitle: "Ajouter une dépense", systemImageName: "plus.circle" ) ] }
0
0
418
Aug ’26
iOS 26.6: “When App Is Closed” automation fires when opening Control Center / Notification Center
After updating to iOS 26.6 I noticed a regression in Shortcuts automations. I created two simple automations: When App Is Opened → Show Notification “OPEN” When App Is Closed → Show Notification “CLOSE” Steps: Open Safari (or any app). Open Control Center or Notification Center. Actual result: “CLOSE” is triggered immediately. Dismissing Control Center or Notification Center does not trigger “OPEN”. Expected: Opening system overlays should not generate an App Closed event because the foreground application remains active. Device: iPhone 13 mini iOS: 26.6 Can anyone else reproduce this?
4
2
976
Aug ’26
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 } }
2
2
1.6k
Aug ’26
Custom icons or background imagery for App Shortcut tiles in the Shortcuts app?
Hi — I’m trying to understand what customization is currently supported for App Shortcuts as they appear inside the Shortcuts app. From the public App Intents APIs, it looks like an AppShortcut can specify a systemImageName, and an AppShortcutsProvider can specify a shortcutTileColor. I haven’t been able to find documentation for either of the following: Using a custom app-provided icon/image asset instead of an SF Symbol Using custom imagery or a background image for the App Shortcut tile itself However, some Apple apps such as Music and Podcasts appear to use richer/custom artwork in their Shortcuts tiles, which made me wonder whether there is a supported API or approach that I’m missing. Are custom icons or background images currently supported for App Shortcut tiles through public APIs? If not, are the richer treatments used by Apple Music/Podcasts based on system-only capabilities that aren’t currently available to third-party apps? Thanks!
0
0
467
Aug ’26
Time of day shortcut not triggering
I have a shortcut that should repeat on the 1st Saturday of every month at 8 am. However, it doesn't trigger. If I set it to trigger daily, it works; if I set it to repeat weekly, it works. But if I set it to repeat on the first Saturday, it doesn't. The option to select the first Saturday is native in the Shortcuts app. Select time of day -> Repeat -> Frequency Monthly -> Change "each" to "on the"
Topic: Design SubTopic: General Tags:
Replies
2
Boosts
0
Views
591
Activity
14h
https://apps.apple.com/app/id6815765181
A Shortcuts automation with the "When I get a notification" trigger does not run for every delivered notification. There is no error or indication that a run was skipped. Repro (iPhone 16 Pro, iOS 27.0.1 (24A446)) : Create a shortcut with the "When I get a notification" trigger for Instagram and turn on its automation. Add a single "Append to Note" action that appends the notification's Title, Body, and Date. From another device, send 10 numbered DMs within about 15 seconds. Result all 10 notifications appeared in Notification Center, but only 7 entries were appended to the note (#2, #4, #6 missing). My app relies on this trigger to save notification history, and users report missing notifications. Is this trigger expected to run for every delivered notification, or is it best-effort? If anyone else sees this, filing a duplicate referencing FB25255777 would help.
Replies
0
Boosts
0
Views
256
Activity
5d
Siri AI AppIntent snippets don’t size correctly and take up the full width in iOS 27.1 RC
I have been trying to create snippet views for my AppShortcuts which fill the full width of the container. Doing this via either .frame(minWidth: 0, maxWidth. infinity) or .containerRelativeFrame() work perfectly fine when my snippet is presented from Shortcuts.app (though sometimes the wrong color scheme is displayed), but when I invoke my AppShortcut from Siri AI and it presents the snippet there, it's offset on the trailing side by sometimes up to over 30 points, which has frustrating effects on the UI I am trying to implement. I've noted the insets are different too depending on whether the snippet is presented from what AppIntents method invokes it requestConfirmation or .result respectively. Here's some screenshots showing the issue. All these use the exact same snippet view, but all have different results in how they look and are inset. In App (how I want it to look) In Shortcuts (fine I guess) And finally, in the Siri app. I have reproduced this is issue and distilled it in a sample project. Please ensure this routes to the correct team: FB25164368. Thanks!
Replies
0
Boosts
0
Views
171
Activity
1w
Supported way to return the user to the app they chose after a pause screen (App Intent from an "App is Opened" automation)
We're building a Screen Time / mindful-pause app for iOS 26–27. The user adds a Shortcuts personal automation "When is Opened" that runs our App Intent. The intent passes the trigger app's Bundle Identifier (from the trigger output) and shows a short pause screen. When the user taps "Continue", we want to take them back into that app — only the one app they chose, only after they tap. Is there a supported API to open another installed app when the user taps Continue, given its bundle identifier from the Shortcuts trigger? A DTS reply in 2024 said there was no supported way (thread 740707). Has anything changed in iOS 26/27? (Related feedback: FB15500695.) If not, is it acceptable to open the chosen app via a URL scheme it registers in its Info.plist, including a third-party sign-in callback scheme, purely to bring it to the foreground? Many apps register no URL scheme. Is there a recommended pattern — e.g. handing control back to Shortcuts so the automation or the "Open App" action opens the trigger app — without the "App is Opened" automation firing again in a loop? What's the recommended way to avoid that re-fire? We currently ignore it for a short time window. A minimal sample project reproduces this (App Intent, pause screen, Continue using UIApplication.open). Happy to share it. Xcode 27.0 (27A266a), iOS 27.0 (24A446).
Replies
0
Boosts
0
Views
118
Activity
1w
Shortcuts Automation "Always Allow" Not Persisting for Wallet "After Payment" Trigger with App Intents
Hi,I'm developing an iOS app that uses App Intents to log Wallet payment transactions via Shortcuts automation with the "After Payment" trigger. The Issue: When users set up a Personal Automation with "Run Immediately" enabled and select "Always Allow" on the permission prompt, the permission does not persist. Every subsequent Wallet transaction triggers the "Allow Once / Always Allow" dialog again. Reproduction: App exposes an App Intent (LogWalletTransactionIntent) with openAppWhenRun = false User creates Personal Automation in Shortcuts app: Trigger: Wallet → After Payment Action: Log Wallet Transaction Set automation to "Run Immediately" First Wallet payment → permission prompt appears → user selects "Always Allow" Second Wallet payment → permission prompt appears again (expected: silent execution) Observations: When the user sets up the automation manually (adds the App Intent action inline and maps fields manually), "Always Allow" works correctly — no repeated prompts The issue occurs when the action is referenced via a pre-configured .shortcut file that has variable descriptors embedded for the parameters The bundled shortcut contains Descriptor mappings for card and merchant parameters Questions: Is this a known limitation of how iOS handles permission persistence for App Intents invoked through pre-configured shortcuts vs. inline automation actions? Does the distribution method affect this behavior — will Ad Hoc (alpha), TestFlight (beta), and App Store (production) builds behave differently regarding permission persistence? Is there a recommended approach for bundling pre-configured shortcuts that avoids repeated permission prompts? Environment: iOS 18.x (also observed on earlier versions) App Intent with String and Double parameters with default:` values openAppWhenRun = false Distribution: Ad Hoc via PGY Any insights would be appreciated. Thanks!
Replies
0
Boosts
0
Views
118
Activity
2w
Unexpected Shortcut Behavior
Heya devs 👋 I am hoping that you might help me with an issue I am having with a Shortcut I have created that's behaving unexpectedly. If you'd like, you can download the Copy Obsidian Link Shortcut to test yourself. Here's a screenshot of the Shortcut: The Shortcut should create an Obsidian Markdown external link when used as a Quick Action from the Finder, e.g., right-clicking on the file Caption - Creative.png in the subfolder PNGs/ and selecting Quick Actions → Create Obsidian Link should send [Caption - Creative.png](file:///Users/user/Documents/Writing-Workspace/PNGs/Caption%20-%20Creative.png) to the paste buffer Instead, [Caption - Creative](file:///Users/user/Library/Group%20Containers/group.com.apple.shortcuts/Temporary/com.apple.WorkflowKit.BackgroundShortcutRunner/Caption%20-%20Creative.txt) is copied. Please help me debug this issue! If you can think of a better place for me to ask this question, I'd be grateful for that even. I've asked on the Obsidian forum and Discord channel already, but haven't got any response.
Replies
1
Boosts
0
Views
149
Activity
2w
iOS 27.2 beta: App Shortcut phrase fails, but a named personal shortcut runs the same intent
I'm investigating a Siri invocation failure with an explicitly declared App Shortcut phrase. The same underlying App Intent works when run directly in Shortcuts and when invoked by the name of a saved personal shortcut. Environment: iPhone 17 Pro Max, iOS 27.2 beta (24B5099f), clean restore without a backup. iPhone and Siri languages: Italian. Standard Siri, no Siri AI. Xcode 27.2 (27B5028f), iphoneos 27.2 SDK. Italian App Shortcut phrase and app metadata. PetroCheck 1.3 (637), already open during the failing invocation. The published phrase is “Trova carburanti vicini con PetroCheck”, declared using \(.applicationName). This is a phrase-based App Shortcut; the intent does not adopt an App Schema. What I observe: Saying the App Shortcut phrase produces a generic Siri error: “mi dispiace, ma si è verificato un errore”. Running the action directly in Shortcuts succeeds and records execution in the app's intent journal. Saving a personal shortcut named “Diagnostica Petro” with just that action, then saying “Esegui Diagnostica Petro”, also succeeds and records execution. Returning only a minimal Text snippet from the original intent does not resolve the phrase invocation failure. For two captured failing phrase invocations, the device logs show BackgroundShortcutRunner failing to resolve the workflow reference: -[WFWorkflowDatabaseRunDescriptor(Conversion) workflowReferenceWithDatabase:error:] Couldn't find shortcut with descriptor: <private> reason: unable to resolve workflow reference from descriptor The first of these attempts has no new entry at the recorded start of perform(). The descriptor itself is redacted, so I cannot identify which reference Siri selected. A subsequent attempt also contains these assistantd messages shortly before the descriptor error: Found no AppShortcutTargets! Could not cast to VoiceCommand task to create AppShortcut invocation AppShortcuts enablement result=false I am including these as observations, without interpreting them as proof of a disabled setting. Calling updateAppShortcutParameters() at launch did not resolve the failure. I checked the compiled device bundle's App Intents metadata: the action is discoverable, its fuel parameter is optional, and the declared shortcut points to the correct intent. The Italian training metadata contains the phrase and the application name PetroCheck. This verifies the compiled metadata, not the device's registration database. I then built a separate app, “Prova Petro”, with a different bundle identifier, a fresh phrase, one intent with no parameters, and a dialog-only result. It has no location, networking, snippet or dependencies from the original app. The Siri phrase fails in this app too. I have not yet captured its intent diary or host logs, so I cannot claim that the minimal app fails at exactly the same stage. These are the core declarations from the compiled minimal project; the sample's journal calls are omitted here: import AppIntents struct RoutingProbeIntent: AppIntent { static let title: LocalizedStringResource = "Verifica collegamento Siri" static let supportedModes: IntentModes = [.background] func perform() async throws -> some IntentResult & ProvidesDialog { return .result(dialog: "Il comando Siri ha raggiunto Prova Petro.") } } struct ProbeShortcuts: AppShortcutsProvider { static var appShortcuts: [AppShortcut] { AppShortcut( intent: RoutingProbeIntent(), phrases: ["Verifica Siri con \(.applicationName)"], shortTitle: "Verifica collegamento Siri", systemImageName: "checkmark.circle" ) } } The minimal app's display name is Prova Petro, and the spoken phrase is “Verifica Siri con Prova Petro”. Its App.init() calls ProbeShortcuts.updateAppShortcutParameters(). The extracted metadata confirms one shortcut, zero parameters, dialog-only output, and the Italian application name and phrase. Has anyone reproduced this difference between an App Shortcut phrase and a named personal shortcut on iOS 27.2 beta, particularly with Italian phrases? Feedback Assistant: FB25077916. The complete minimal Xcode project and scoped diagnostics are attached to the report. Is there anything missing from this setup, or a supported way to diagnose the unresolved shortcut reference? Comparisons with other OS builds, languages or devices would be useful. I have not yet established a regression against a stable OS release. Prova Petro minimal source and Siri routing logs
Replies
0
Boosts
0
Views
151
Activity
2w
iOS 27 Simulator: “Describe a Shortcut” stuck on “Preparing support”
I'm trying to test the new “Describe a Shortcut” feature in iOS 27 using an iPhone 17 Simulator. When I open Shortcuts and tap “Describe a Shortcut”, it stays on: “Preparing support for describe a shortcut” and the text field remains disabled. I cannot enter anything or create the shortcut. My setup: Mac: MacBook Pro macOS: 27 Xcode: 26.5 (17F42) Simulator: iPhone 17 iOS: 27 I also have a physical iPhone 14 Pro, but I understand that it doesn't support Apple Intelligence, so I'm trying to test this using the iPhone 17 Simulator. Do I need to enable/download anything for Apple Intelligence on the Mac or Simulator? Or is “Describe a Shortcut” currently unsupported/not working in the iOS 27 Simulator? Any guidance on the correct setup would be appreciated.
Replies
0
Boosts
0
Views
407
Activity
Sep ’26
Please add “Label” support to the “Start Timer” action in Shortcuts
Hi Apple Developer Forums, I’m a heavy user of the Shortcuts app and the new multiple timers in iOS have been incredibly helpful. However, there is one limitation that makes them hard to use in automations. Right now, the “Start Timer” action in Shortcuts does not let you set a Label for the timer. This means when a timer created by a shortcut goes off, I can’t tell what it was for (for example, a 15‑minute laundry timer vs. a 15‑minute tea timer), even though labeled timers already work perfectly in the Clock app. Feature request: please add a Label field to the “Start Timer” action in Shortcuts so automations can create named timers, just like in the Clock app. This would make multiple timers much more practical for automation and for power users. Thank you for considering this improvement.
Replies
0
Boosts
0
Views
156
Activity
Sep ’26
Error "Run Javascript on Active Safari Tab" fails when after shortcuts logic
I'v been using a shortcut from the iOS/ipadOS share sheet in safari for several months now successfully and tried to use/port it to macOS: The "Run Javascript on Active Safari Tab" (RJOACST) action fails on MacOS if logic based on native shortcut actions is executed before / in front of it. The same shortcut does work on iOS and iPadOS. Here's the shortcut: https://www.icloud.com/shortcuts/613fe9b4464c401380159eb8160eb485 The Error on macOS reads: ''' DEV Safari Recipee 2 JS Reminders N... Unable to Run JavaScript on Web Page Make sure Allow JavaScript from Apple Events is enabled in the Develop menu in Safari. The Develop menu can be enabled in the Advanced section of Safari's Preferences. ''' BUT: simpler shortcuts with just the RJOASF Javascscript (e.g. the default script) DO work on the same machine. All settings are correct. When refactoring the initial logic from shortcuts action into Javascript code and calling the RJOACST silently lets the shortcut die. Any lead/hint appreciated. I did try to retrieve the shortcuts input shortly before the RJOACST is executed. PS: The file Recipes.json contains a list of sites to scrape recipe ingredients from - find the example here: ''' { "deli-berlin.com": { "selectorType": "xpath", "selectorExpression": "//div[contains(@class,'wprm-recipe-ingredient-group')]/ul/li", "extractionType": "text", "joinArrayString": "\n", "cleanupRules": [], "sampleUrl": "https://deli-berlin.com/rezept-vegane-lasagne/", "cachedHtml": "", "baselineIngredientsText": "", "activeVariationId": "row", "variations": [], "snapshotNote": "", "lastTestStatus": "untested", "lastTestedDate": "", "lastTestError": "", "htmlUpdatedAt": "", "baselineUpdatedAt": "", "ruleConfigUpdatedAt": "", "history": [] }, "www.allrecipes.com": { "selectorType": "xpath", "selectorExpression": "//ul[contains(@class,'mntl-structured-ingredients__list')]/li", "extractionType": "text", "joinArrayString": "\n", "cleanupRules": [ { "find": "\n{2,}", "replace": "\n", "active": true, "phase": "beforeJoin" } ], "sampleUrl": "https://www.allrecipes.com/recipe/221361/traditional-sauerbraten/", "cachedHtml": "", "baselineIngredientsText": "", "activeVariationId": "row", "variations": [], "snapshotNote": "", "lastTestStatus": "untested", "lastTestedDate": "", "lastTestError": "", "htmlUpdatedAt": "", "baselineUpdatedAt": "", "ruleConfigUpdatedAt": "", "history": [] } } '''
Replies
0
Boosts
0
Views
406
Activity
Sep ’26
Is there any public way to create a pre-filled note in Notes.app from a third-party iOS app?
I'm building a cross-platform app (.NET MAUI) on ios with a feature that lets users send a block of text to their preferred note-taking app to save for later. This works fine via their documented x-callback-url schemes (e.g. bear://x-callback-url/create?text=...). I'd like to support Apple's own Notes app the same way, but I can't find a documented mechanism to do so. Questions: Is there a URL scheme for Notes.app that a third-party app can use to open it, and if so, does it support passing in content for a new note? Is there any officially supported way — App Intents, or otherwise — to create a new note with pre-filled text in Notes.app from another app? Does the new Notes domain under App Intents (iOS 18+) apply to Apple's own Notes app, or is it purely a schema that third-party note apps can adopt for themselves? If it does apply, is there a way to invoke it directly from another app's UI rather than only via Siri/Shortcuts? If none of the above exists, is routing through the standard share sheet the intended/only supported approach for this use case going forward? Thanks in advance — wanting to make sure I'm not missing a documented mechanism before concluding this isn't possible.
Replies
1
Boosts
0
Views
533
Activity
Sep ’26
App Shortcuts Action button default parameter
Hello, I have a question about App Intents and the Action button on iPhone. I have an App Intent that opens the app and navigates to a specific entity, conforming to OpenIntent with a single AppEntity parameter. The entity conforms to EnumerableEntityQuery, and the intent is registered as an App Shortcut via the AppShortcutsProvider. When assigning this shortcut to the Action button in Settings, the system doesn’t prompt the user to select a default entity upfront. Instead, it prompts on every activation, creating friction. In contrast, shortcuts like “Open Note…” and other third-party ones prompt the user for a note to open when setting up the Action button, and its title also includes three dots, indicating a pre-configurable parameter. My shortcut’s title shows no dots. What’s required to make an App Shortcut prompt for a default parameter during Action button setup? Sincerely, Holger
Replies
4
Boosts
0
Views
1.4k
Activity
Sep ’26
Develop Certificate Has Wrong Apple ID???
When trying to develop an Apple Shortcut, the shortcut doesn't appear (after many open, quit, adding permissions, etc.). My only Apple Account is my name associated with an Apple ID of QZ99..... However, when I try to check one (of many reasons) why it does not show up with Terminal: codesign -dv --verbose=4 "/Applications/My App.app" etc, it shows something "rejected" Authority=Apple Worldwide Developer Relations Certification Authority Authority=Apple Root CA Signed Time=Aug 25, 2026 at 1:26:38 PM Info.plist entries=22 TeamIdentifier=QZ99... Runtime Version=26.5.0 Sealed Resources version=2 rules=13 files=4 Internal requirements count=1 size=204 /Applications/Write Create Date from Original.app: rejected origin=Apple Development: My Account (K533...) The K533... is different than my Team ID of QZ99... Could that be a reason my app is not registered with Shortcuts? Is that expected functionality? I guess I expected my Team ID to appear everywhere even after I deleted my account in Xcode, removed a current and expired certificate associated with K533 in Keychain, and then added my account back, and let Xcode regenerate a certificate.
Replies
2
Boosts
0
Views
818
Activity
Aug ’26
AppShortcutsProvider not detected by the Shortcuts app – app built entirely with Swift Playgrounds + TestFlight
Context I built an app entirely using Swift Playgrounds on iPad (no access to a Mac / Xcode). The app is distributed via TestFlight and installed on an iPhone. Problem I implemented an AppShortcutsProvider with simple AppShortcut entries (code below), but no shortcuts show up in the Shortcuts app, in the list of apps with shortcuts, or via Siri. What I've already tried without success: Full restart of the iPhone Deleting the app's data Fully uninstalling and reinstalling the app A new TestFlight build (with incremented build number) after adding the code Confirming the phrases correctly include (.applicationName) as required Question Is the Extract AppIntentsMetadata build step (which generates the metadata.appintents file) actually executed when compiling/submitting via Swift Playgrounds on iPad, or is this a known limitation of the tool that would prevent App Shortcuts from being indexed by Shortcuts/Siri? Environment Swift Playgrounds version: [check in the app under Settings > General > About] iOS version on test iPhone: [fill in] Project deployment target: [fill in if known, otherwise note that you have no way to check this without Xcode] Provider code: import SwiftUI import AppIntents // ============================================================ // MARK: - TEST INTENT // ============================================================ struct TestExpenseIntent: AppIntent { static let title: LocalizedStringResource = "Test dépense" static let description = IntentDescription( "Teste l'intégration de l'application avec Raccourcis." ) static let isDiscoverable = true func perform() async throws -> some IntentResult { return .result(dialog: "Ça fonctionne !") } } // ============================================================ // MARK: - ADD EXPENSE INTENT // ============================================================ struct AddApplePayExpenseIntent: AppIntent { static let title: LocalizedStringResource = "Ajouter une dépense" static let description = IntentDescription( "Ajoute une dépense à un Tricount." ) static let isDiscoverable = true static let openAppWhenRun = false @Parameter(title: "Montant") var amount: Double? @Parameter(title: "Marchand") var merchant: String? func perform() async throws -> some IntentResult { let valAmount = amount ?? 0.0 let valMerchant = merchant ?? "Inconnu" print("Montant :", valAmount) print("Marchand :", valMerchant) return .result( dialog: "Dépense de \(valAmount) € chez \(valMerchant)." ) } } // ============================================================ // MARK: - SHORTCUTS // ============================================================ struct MyAppShortcuts: AppShortcutsProvider { static var shortcutTileColor: ShortcutTileColor = .blue static let appShortcuts: [AppShortcut] = [ AppShortcut( intent: TestExpenseIntent(), phrases: [ "Tester \(.applicationName)" ], shortTitle: "Test dépense", systemImageName: "plus.circle" ), AppShortcut( intent: AddApplePayExpenseIntent(), phrases: [ "Ajouter une dépense dans \(.applicationName)", "Ajouter \(\.$amount) dans \(.applicationName)" ], shortTitle: "Ajouter une dépense", systemImageName: "plus.circle" ) ] }
Replies
1
Boosts
0
Views
464
Activity
Aug ’26
Adding an OptionsCollection to an existing AppShortcut hides all other parameterless App Shortcuts from the Shortcuts app UI
Hi all, I’m seeing what looks like a bug with AppShortcutParameterPresentation and the Shortcuts app. Any time I provide an OptionsCollection to a shortcut so I can give it a nice category name and symbol in Shortcuts, it hides all other existing app shortcuts that my app has from the UI. I have created a sample that illustrates the problem. My app provides two App Shortcuts: A simple shortcut with no parameters. A shortcut with two parameters. Its Destination parameter uses AppShortcutParameterPresentation to generate “Home” and “Office” options in a separate section. When the second shortcut is present, the first parameterless shortcut disappears from the Shortcuts app. If I comment out the shortcut containing parameterPresentation, the parameterless shortcut appears again. Before commenting out: After commenting out the second shortcut: Here's the code: import AppIntents struct ParameterlessIntent: AppIntent { static let title: LocalizedStringResource = "Parameterless Intent" static let description = IntentDescription("Runs without asking for any parameters.") func perform() async throws -> some IntentResult { .result() } } struct ParameterizedIntent: AppIntent { static let title: LocalizedStringResource = "Parameterized Intent" static let description = IntentDescription("Runs with a destination and a copy count.") // The same provider is used by this parameter and by ParameterPresentation below. @Parameter( title: "Destination", optionsProvider: DestinationOptionsProvider() ) var destination: String @Parameter(title: "Copy Count", default: 1) var copyCount: Int static var parameterSummary: some ParameterSummary { Summary("Send \(\.$copyCount) copies to \(\.$destination)") } func perform() async throws -> some IntentResult { .result() } } nonisolated struct DestinationOptionsProvider: DynamicOptionsProvider { func results() async throws -> [String] { // Each generated App Shortcut option is a value for the Destination parameter. ["Home", "Office"] } } struct BugReproductionShortcuts: AppShortcutsProvider { static var appShortcuts: [AppShortcut] { // This parameterless shortcut should always appear in the Shortcuts app. AppShortcut( intent: ParameterlessIntent(), phrases: [ "Run the parameterless shortcut with \(.applicationName)" ], shortTitle: "Do I exist?", systemImageName: "1.circle" ) #warning("The presence of this shortcut causes the top one no longer appear in Shortcuts.app") AppShortcut( intent: ParameterizedIntent(), phrases: [ "Run the parameterized shortcut with \(.applicationName)" ], shortTitle: "Parameterized Shortcut", systemImageName: "2.circle", parameterPresentation: ParameterPresentation( for: \.$destination, summary: Summary("Send to \(\.$destination)") ) { // This title and symbol create a separate section in Shortcuts. OptionsCollection( DestinationOptionsProvider(), title: "Destination Shortcuts", systemImageName: "mappin.and.ellipse" ) } ) } } This code and reproduction is as of Xcode 27 Beta 6 and happens on older versions as well. Is there a known limitation with this or is this somehow expected behavior? If so, how can I mitigate this issue and provide a nice title for another shortcut, while keeping the old parameterless shortcuts present? Thanks!
Replies
1
Boosts
0
Views
708
Activity
Aug ’26
AppShortcutsProvider not detected by the Shortcuts app – app built entirely with Swift Playgrounds
Context I built an app entirely using Swift Playgrounds on iPad (no access to a Mac / Xcode). The app is distributed via TestFlight and installed on an iPhone. Problem I implemented an AppShortcutsProvider with simple AppShortcut entries (code below), but no shortcuts show up in the Shortcuts app, in the list of apps with shortcuts, or via Siri. What I've already tried without success: Full restart of the iPhone Deleting the app's data Fully uninstalling and reinstalling the app A new TestFlight build (with incremented build number) after adding the code Confirming the phrases correctly include (.applicationName) as required Question Is the Extract AppIntentsMetadata build step (which generates the metadata.appintents file) actually executed when compiling/submitting via Swift Playgrounds on iPad, or is this a known limitation of the tool that would prevent App Shortcuts from being indexed by Shortcuts/Siri? Provider code: import SwiftUI import AppIntents // ============================================================ // MARK: - TEST INTENT // ============================================================ struct TestExpenseIntent: AppIntent { static let title: LocalizedStringResource = "Test dépense" static let description = IntentDescription( "Teste l'intégration de l'application avec Raccourcis." ) static let isDiscoverable = true func perform() async throws -> some IntentResult { return .result(dialog: "Ça fonctionne !") } } // ============================================================ // MARK: - ADD EXPENSE INTENT // ============================================================ struct AddApplePayExpenseIntent: AppIntent { static let title: LocalizedStringResource = "Ajouter une dépense" static let description = IntentDescription( "Ajoute une dépense à un Tricount." ) static let isDiscoverable = true static let openAppWhenRun = false @Parameter(title: "Montant") var amount: Double? @Parameter(title: "Marchand") var merchant: String? func perform() async throws -> some IntentResult { let valAmount = amount ?? 0.0 let valMerchant = merchant ?? "Inconnu" print("Montant :", valAmount) print("Marchand :", valMerchant) return .result( dialog: "Dépense de \(valAmount) € chez \(valMerchant)." ) } } // ============================================================ // MARK: - SHORTCUTS // ============================================================ struct MyAppShortcuts: AppShortcutsProvider { static var shortcutTileColor: ShortcutTileColor = .blue static let appShortcuts: [AppShortcut] = [ AppShortcut( intent: TestExpenseIntent(), phrases: [ "Tester (.applicationName)" ], shortTitle: "Test dépense", systemImageName: "plus.circle" ), AppShortcut( intent: AddApplePayExpenseIntent(), phrases: [ "Ajouter une dépense dans (.applicationName)", "Ajouter (.$amount) dans (.applicationName)" ], shortTitle: "Ajouter une dépense", systemImageName: "plus.circle" ) ] }
Replies
0
Boosts
0
Views
418
Activity
Aug ’26
iOS 26.6: “When App Is Closed” automation fires when opening Control Center / Notification Center
After updating to iOS 26.6 I noticed a regression in Shortcuts automations. I created two simple automations: When App Is Opened → Show Notification “OPEN” When App Is Closed → Show Notification “CLOSE” Steps: Open Safari (or any app). Open Control Center or Notification Center. Actual result: “CLOSE” is triggered immediately. Dismissing Control Center or Notification Center does not trigger “OPEN”. Expected: Opening system overlays should not generate an App Closed event because the foreground application remains active. Device: iPhone 13 mini iOS: 26.6 Can anyone else reproduce this?
Replies
4
Boosts
2
Views
976
Activity
Aug ’26
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
2
Boosts
2
Views
1.6k
Activity
Aug ’26
Custom icons or background imagery for App Shortcut tiles in the Shortcuts app?
Hi — I’m trying to understand what customization is currently supported for App Shortcuts as they appear inside the Shortcuts app. From the public App Intents APIs, it looks like an AppShortcut can specify a systemImageName, and an AppShortcutsProvider can specify a shortcutTileColor. I haven’t been able to find documentation for either of the following: Using a custom app-provided icon/image asset instead of an SF Symbol Using custom imagery or a background image for the App Shortcut tile itself However, some Apple apps such as Music and Podcasts appear to use richer/custom artwork in their Shortcuts tiles, which made me wonder whether there is a supported API or approach that I’m missing. Are custom icons or background images currently supported for App Shortcut tiles through public APIs? If not, are the richer treatments used by Apple Music/Podcasts based on system-only capabilities that aren’t currently available to third-party apps? Thanks!
Replies
0
Boosts
0
Views
467
Activity
Aug ’26