【问题标题】:iOS siri shortcuts SwiftiOS siri 快捷方式 Swift
【发布时间】:2019-12-02 05:08:30
【问题描述】:

我目前正在为我们的广播电台学习 swift,我注意到一个竞争对手的电台能够设置一个 siri 快捷方式,让人们说“嘿 Siri 播放(电台名称)”,Siri 将打开应用程序并开始播放该电台。

我想知道如何使用 Swift 来做到这一点?

【问题讨论】:

标签: ios swift siri


【解决方案1】:

您可以在Siri's intent 的帮助下完成。您必须使用 Xcode 创建一个 Siri 意图定义文件

PlayGame 的示例意图定义:

在上面的示例中,我为玩游戏创建了简单的意图。我已将类别添加为Do,您可以选择许多类别。你也可以通过intent传递参数,就像我使用game name你可以在那里添加radio station name

您还可以为 Siri 建议功能添加此特定意图。

处理 Siri Intent 事件:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {

    if userActivity.activityType == "PlayGameIntent" {
        print(userActivity.userInfo ?? "")
    }

    return true
}

注意:您必须将此意图捐赠给 iOS 来处理,您 可以通过以下方式实现:

let intent = PlayGameIntent()
intent.gameName = "PUBG"

let interaction = INInteraction(intent: intent, response: nil)
interaction.donate { (error) in
    print(error ?? "error")
}

【讨论】:

  • 如果你不开发游戏怎么办,因为我们不能使用 PlayGame Kit。
  • @RussellHarrower 你可以为普通应用添加它,它不是特定于游戏的。
  • @RussellHarrower PlayGame 只是意图名称,您可以随意命名。基本上,此意图用于添加快捷方式并将您的应用内容添加到建议中,具体取决于用户的行为。
  • 嗨 Jarvis,我发现我将 func 应用程序... 放在 AppDelegate.swift 中,但是我应该在哪里放置 let intent = PlayGameIntent()?
  • 你想在哪个视图控制器中向 Siri 捐赠意图。
猜你喜欢
  • 2019-02-20
  • 1970-01-01
  • 2020-03-24
  • 2019-02-24
  • 2021-08-26
  • 1970-01-01
  • 2019-04-29
  • 2019-03-06
  • 2019-04-05
相关资源
最近更新 更多