Swift NSSerActivity DeleteAllSavedUserActivity不工作
我的情况非常简单:我使用下一个函数Swift NSSerActivity DeleteAllSavedUserActivity不工作,swift,siri,sirikit,nsuseractivity,Swift,Siri,Sirikit,Nsuseractivity,我的情况非常简单:我使用下一个函数 private func launchActivity(_ id: String, title: String, invocPhrase: String) { userActivity = NSUserActivity(activityType: "Open_bank") userActivity?.title = title userActivity?.userInfo = ["i
private func launchActivity(_ id: String, title: String, invocPhrase: String) {
userActivity = NSUserActivity(activityType: "Open_bank")
userActivity?.title = title
userActivity?.userInfo = ["id": id]
if #available(iOS 12.0, *) {
userActivity?.suggestedInvocationPhrase = invocPhrase
userActivity?.isEligibleForPrediction = true
userActivity?.persistentIdentifier = id
} else {
//Can't actually invoke this block
}
}
创建特定的userActivity,然后将其添加到Siri中,以便可以通过invocPhrase
调用它。下面是执行此操作的函数
func presentAddOpenBankToSiriVC() {
guard let userActivity = self.userActivity else { return }
if #available(iOS 12.0, *) {
let shortcut = INShortcut(userActivity: userActivity)
let viewController = INUIAddVoiceShortcutViewController(shortcut: shortcut)
viewController.modalPresentationStyle = .formSheet
viewController.delegate = self
present(viewController, animated: true, completion: nil)
} else {
//Can't actually invoke this block
}
}
后来我尝试删除它(以及所有其他用户活动)
它只是没有删除任何用户活动,这与苹果文档中的内容相反
实际上,一开始,我试过一种方法
deleteSavedUserActivities(withPersistentIdentifiers:completionHandler:)
使用userActivity的PersistentiIdentifier,但显然也没有用
我不知道它为什么拒绝让步,但如果有任何帮助或暗示,我将不胜感激
deleteSavedUserActivities(withPersistentIdentifiers:completionHandler:)