如何预定义应该用于触发 Siri 的某些动作的某些短语

How to predefine certain phrases that should be used to trigger certain actions by Siri

我可以使用 NSUserActivity 或 Intent 创建一个快捷方式,然后让用户记录一个特定的短语,这将触发特定的快捷方式,通过向他展示一个合适的视图控制器,或者通过发送 hi 到设置- >Siri->快捷方式。为此,我将仅使用以下代码:

let activityType = PageID.page1.rawValue
    lazy var activity: NSUserActivity = {
        let userActivity = NSUserActivity(activityType: activityType)
        userActivity.title = "View Page"
        userActivity.suggestedInvocationPhrase = "Page one"
        userActivity.isEligibleForSearch = true
        userActivity.isEligibleForPrediction = true
        userActivity.persistentIdentifier =  NSUserActivityPersistentIdentifier(activityType)
        return userActivity
    }()

这只是为 Siri 的建议添加了一个快捷方式,并使其在设置中可用,但用户仍然必须记录短语才能通过特定短语触发快捷方式。

如何为特定操作预定义像 "Do some task" 这样的短语并使用户可以使用它,而不需要手动记录它?

更准确地说,我想根据用户所说的在我的应用程序中打开一个特定页面。例如,打开第一页、打开第二页、打开菜单等...

Apple 在 iOS 中的框架目前无法实现您想做的事情 12. Apple 确实允许您的应用程序使用 Siri,而无需用户为非常特定的领域(例如消息传递或支付)记录短语,但不是任意任务。我将 Siri Shortcuts 视为实现这一目标的第一步。它允许您向系统提供您的应用能够执行的任务,然后要求用户记录触发这些任务的短语。