Как удалить добавленные ярлыки в Swift? - PullRequest
0 голосов
/ 16 ноября 2018

В моем приложении я реализовал ярлыки 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 Ответ

0 голосов
/ 22 ноября 2018

Если пользователь уже добавил ярлык в Siri, вы не можете программно удалить его, но пользователь должен удалить его вручную, как указано здесь (Параграф: Удалить пожертвования с соответствующими данными):

https://developer.apple.com/design/human-interface-guidelines/sirikit/overview/siri-shortcuts/

Если вы хотите удалить пожертвования, которые еще не были добавлены в Siri, вы можете выполнить INInteraction.deleteAll.Пожалуйста, проверьте документацию для более подробной информации об этой функции здесь:

https://developer.apple.com/documentation/sirikit/ininteraction

...