目前,我正在为我们的电台学习“快速”,我注意到,一个竞争对手能够设置siri快捷方式,允许人们说“嗨,Siri play (电台名称)”,Siri将打开应用程序并开始播放said站点。
我想知道斯威夫特是怎么做到的?
发布于 2019-12-02 05:44:22
您可以在Siri's intent的帮助下完成它。您必须使用Xcode创建Siri意图定义文件。
示例意图定义PlayGame:

在上面的例子中,我创建了玩游戏的简单意图。我已经添加了类别作为Do,有很多类别你可以选择。您也可以通过意图传递参数,就像我使用game name一样,您可以在那里添加radio station name。
您还可以为Siri建议功能添加此特定意图。
处理Siri意图事件:
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")
}https://stackoverflow.com/questions/59132942
复制相似问题