NSUserActivity deleteAllSavedUserActivities不起作用

问题描述

我的情况非常简单:我使用下一个函数

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
        }
    }

稍后我尝试删除它(以及所有其他用户活动)

NSUserActivity.deleteAllSavedUserActivities {}

与Apple文档中的内容相反,它不会删除任何用户活动 https://developer.apple.com/documentation/sirikit/deleting_donated_shortcuts

实际上,起初我尝试过一种方法

 deleteSavedUserActivities(withPersistentIdentifiers:completionHandler:)

使用userActivity的persistentIdentifier,但显然也无济于事。

我不知道为什么它拒绝让步,但是会感谢您的帮助或提示

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...