AssistantIntent system.search behaviour

Given that iOS 18.2 is out and following documentation and WWDC example (limited to iOS 18.2+), I am attempting to use @AssistantIntent(schema: .system.search) along an AppIntent.

Questions:

  1. Has anyone made this to work on a real device?!

In my case (code below): when I run the intent from Shortcuts or Siri, it does NOT open the App but only calls the perform method (and the App is not foregrounded) -- changing openAppWhenRun has no effect! Strangely: If my App was backgrounded before invocation and I foreground it after, it has navigated to Search but just not foregrounded the App! Am I doing anything wrong? (adding @Parameter etc doesn't change anything).

  1. Where is the intelligence here? The criteria parameter can NOT be used in the Siri phrase -- build error if you try that since only AppEntity/AppEnum is permitted as variable in Siri phrase but not a StringSearchCriteria.

Said otherwise: What's the gain in using @AssistantIntent(schema: .system.search) vs a regular AppIntent in this case?!

Some code:

@available(iOS 18.2, *)
@AssistantIntent(schema: .system.search)
struct MySearchIntent: ShowInAppSearchResultsIntent {
    static let searchScopes: [StringSearchScope] = [.general]
    static let openAppWhenRun = true

    var criteria: StringSearchCriteria
    
    @MainActor
    func perform() async throws -> some IntentResult {
        NavigationHandler().to(.search(.init(query: criteria.term)), from: .siri)
        return .result()
    }
}

Along with this ShortCut in AppShortcutsProvider:

AppShortcut(
            intent: MySearchIntent(),
            phrases: [
                "Search \(.applicationName)"
            ],
            shortTitle: "Search",
            systemImageName: "magnifyingglass"
        )
AssistantIntent system.search behaviour
 
 
Q