AppIntent 和 AppShortcutsProvider 无法与 Siri 配合使用

问题描述 投票:0回答:0

我有一个非常简单的

AppIntent
AppShortcutsProvider
。它在“快捷方式”应用程序中运行良好,但在询问 Siri 时却不起作用。

// MARK: - OpenLibrary
struct OpenLibrary: AppIntent {
    static let title: LocalizedStringResource = "Open Library"
    static let description = IntentDescription("Opens your saved songs and playlists.")
    static var openAppWhenRun: Bool = true
    
    @MainActor
    func perform() async throws -> some IntentResult & ReturnsValue {
        
        if let url = URL(string: "appName://library/open") {
            await UIApplication.shared.open(url)
        }
        return .result()
    }

}

struct OpenLibraryShortcutsProvider: AppShortcutsProvider {
    static var appShortcuts: [AppShortcut] {
        AppShortcut(
            intent: OpenLibrary(),
            phrases: [
                "Open Library in \(.applicationName)",
                "Open \(.applicationName) Library",
                "Open my library in \(.applicationName)",
                "Open my \(.applicationName) Library"
            ],
            shortTitle: "Open Library",
            systemImageName: "rectangle.stack.fill"
        )
    }
    
    static var shortcutTileColor: ShortcutTileColor = .lightBlue
}

我在 iPhone 上对 Siri 说:“在 {appName} 中打开我的库”,Siri 会回复“{appName} 尚未通过 Siri 添加对此的支持”。正如我之前提到的,如果我创建并运行它作为快捷方式,它就可以正常工作。 URL 处理正确。

我现在正在学习

AppIntent
。接下来我可以尝试什么?

swift siri sirishortcuts appintents
© www.soinside.com 2019 - 2024. All rights reserved.