Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

App Intents doesn't works in widgets

I’m trying to develop a widget with a button that triggers an app intent.

I integrated the app intent into my app within a separate app framework. I tested it with Shortcuts and Siri, and it works well—it opens the app on the required screen. However, when I added a button Button(intent: MyIntent()) to my widget, it doesn’t work at all.

The only clue I found is the following message in the Xcode debug console: “No ConnectionContext found for (some big integer)” when I tap on the widget's button. However, I see the same message when running it through the Shortcuts app, and in that case, it works fine.

Does anyone know what might be causing this issue?

My Intent:

public struct OpenTextInputIntent: AppIntent {
    public static var title: LocalizedStringResource = "Open text input"
    public static var openAppWhenRun: Bool = true
    
    @Parameter(title: "Predefined text")
    public var predefinedText: String
    
    @Dependency private var appCoordinator: AppCoordinatorProtocol
    
    public init() { }
    
    public func perform() async throws -> some IntentResult {
        appCoordinator.openAddMessage(predefinedText: predefinedText)
        return .result()
    }
}

My widget's view:

struct SimpleWidgetView : View {
    var entry: SimpleWidgetTimelineProvider.Entry

    var body: some View {
        ZStack(alignment: .leadingTop) {
            button
        }
    }
    
    private var button: some View {
        Button(intent: OpenTextInputIntent()) {
            Image(systemName: "mic.fill")
                    .resizable()
                    .aspectRatio(contentMode: .fit)
                    .iconFrame()
         }
        .buttonStyle(PlainButtonStyle())
        .foregroundStyle(Color.white)
        .padding(10)
        .background(Circle().fill(Color.accent))
    }
}

Intents Registration in the app target:

struct MyAppPackage: AppIntentsPackage {
    static var includedPackages: [any AppIntentsPackage.Type] {
        [FrameworkIntentsPackage.self]
    }
}

struct MyAppShortcutsProvider: AppShortcutsProvider {
    static var appShortcuts: [AppShortcut] {
        AppShortcut(
            intent: OpenTextInputIntent(),
            phrases: ["Add message in \(.applicationName)"],
            shortTitle: "Message input",
            systemImageName: "pencil.circle.fill"
        )
    }
}

What I'm missing?

App Intents doesn't works in widgets
 
 
Q