【问题标题】:How to properly implement siri shortcut如何正确实现siri快捷方式
【发布时间】:2019-04-05 06:02:04
【问题描述】:

我正在实施 Siri 快捷方式。我的目标是在设置应用中为 SIRI SHORTCUT 添加功能快捷方式。

为此,我需要先注册 NSUserActivity,然后处理来自应用委托的快捷方式调用。

问题是我不确定在哪里以及如何从我观看的教程中正确注册活动。

我应该在哪里注册?

根据教程,我在视图控制器上添加了这段代码。

由于 self.userActivity 可以从应用程序委托访问,我想知道是否可以在应用程序委托上添加以下代码。

func registerShortcut() {

        if #available(iOS 12.0, *) {
            let activity = NSUserActivity(activityType: "jp.co.mycompany.MyApp.openCamera")
            activity.title = "Camera Shortcut"
            activity.isEligibleForSearch = true
            activity.isEligibleForPrediction = true

            self.userActivity = activity
            self.userActivity?.becomeCurrent()
        } 
    }

我应该注册多少次

不控制注册码被调用多少次,app会调用注册码 每次启动应用程序。多次调用注册有什么问题吗?

【问题讨论】:

  • 我认为您正在寻找“捐赠意图”。捐赠是将我们的快捷方式添加到 siri 的方式(在设置中)。还要确保你的意图工作正常

标签: ios swift siri sirishortcuts


【解决方案1】:

有很多方法可以在您的应用程序中实现快捷方式和 Siri 建议,只要它们遵循Human interface Guidelines set by apple.,您就不必担心实现。我相信您想注册对 Siri Shortcuts 的行动捐赠。

深入了解Apple's Example Code 以编写 Siri 快捷方式。我相信这是关于此事的最佳资源。这段代码非常详细且有据可查。

“我应该注册多少次?”

“我应该在哪里注册?”

您应该在用户每次执行操作时注册您的捐赠:

每次用户执行操作时都捐赠意图有助于 Siri 了解用户的行为,这有助于 Siri 更好地进行谓词 当用户可能想要再次执行该操作时。

因此,在您的情况下,我不会在AppDelegate 中注册捐赠,而是在按下按钮或用户执行其他操作(例如打开相机)时进行。大多数情况下,我将开发人员的组操作放在一个文件中以更好地管理它们。然后在用户激活它们各自的操作时调用它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-24
    • 2019-04-29
    • 2019-02-20
    • 1970-01-01
    • 2019-02-24
    • 2019-08-15
    • 2018-12-07
    • 2019-03-06
    相关资源
    最近更新 更多