如何在 Swift 中删除添加的快捷方式?
Posted
技术标签:
【中文标题】如何在 Swift 中删除添加的快捷方式?【英文标题】:How to delete added Shortcuts in Swift? 【发布时间】:2018-11-16 16:16:08 【问题描述】:在我的应用中,我实现了 Siri 快捷方式。用户可以使用INUIAddVoiceShortcutButton
添加快捷方式,这会显示INUIAddVoiceShortcutViewController
。这非常有效。用户可以使用INUIAddVoiceShortcutButton
添加和编辑快捷方式。但是我如何以编程方式删除快捷方式?当用户删除应该使用此快捷方式执行的操作时,应该会发生这种情况。
这是我显示INUIAddVoiceShortcutViewController
的代码:
let videoReturnIntent = VideoShortcutIntent()
videoReturnIntent.videoID = informationToShowDetail.videoID!
videoReturnIntent.suggestedInvocationPhrase = "Test"
videoShortCutIntent = videoReturnIntent
if let shortcut = INShortcut(intent: videoReturnIntent)
let viewController = INUIAddVoiceShortcutViewController(shortcut: shortcut)
viewController.modalPresentationStyle = .formSheet
viewController.delegate = self // Object conforming to `INUIAddVoiceShortcutViewControllerDelegate`.
present(viewController, animated: true, completion: nil)
【问题讨论】:
只是说,我不希望应用程序能够删除我创建的快捷方式。最多建议我这样做,并将我链接到“设置”应用。 【参考方案1】:如果用户已经添加了 Siri 的快捷方式,您不能以编程方式将其删除,但用户必须按照此处所述手动删除(段落:删除带有相应数据的捐赠):
https://developer.apple.com/design/human-interface-guidelines/sirikit/overview/siri-shortcuts/
如果您想删除尚未添加到 Siri 的捐赠,您可以执行INInteraction.deleteAll
。有关此功能的更多详细信息,请在此处查看文档:
https://developer.apple.com/documentation/sirikit/ininteraction
【讨论】:
但是这样你移除了所有的捐赠,如果你想移除特定的捐赠怎么办?! INInteraction 下还有其他方法可以删除特定 groupidentifier 的捐赠...但不清楚如何从快捷方式设置此 groupidentifier。 对不起,我直到现在才使用 deleteAll 函数,所以我没有针对您的情况的具体解决方案。以上是关于如何在 Swift 中删除添加的快捷方式?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 woocommerce 快捷方式代码中删除 clearfix