3

我可以使用 NSUserActivity 或 Intent 创建快捷方式,然后让用户记录将触发某个快捷方式的某个短语,方法是向他展示一个适当的视图控制器,或者发送 hi 到 Settings->Siri->Shortcuts . 为此,我将仅使用此代码,例如:

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 的建议添加了一个快捷方式,并使其在“设置”中可用,但用户仍然必须记录短语才能通过某个短语触发快捷方式。

如何为特定操作预定义诸如“执行某些任务”之类的短语并使用户可以使用它,而无需手动记录它?

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

4

1 回答 1

2

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

于 2018-09-26T18:43:39.120 回答