我目前正在为我们的广播电台学习快速,并且我注意到一个竞争对手的电台已经能够设置siri快捷方式,允许人们说“嘿Siri播放(电台名称)”,Siri将打开该应用程序,开始播放所说的电台。
我想知道如何用Swift做到这一点?
您可以在Siri's intent
的帮助下完成此操作。您将必须使用Xcode创建Siri意向定义文件。
PlayGame的示例意图定义:
在上面的示例中,我为玩游戏创建了简单的意图。我已将类别添加为Do
,您可以选择许多类别。您也可以通过意图传递参数,就像我使用过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")
}