4

我想进阶研究捷径技术。所以这里有一些问题:

  • Siri 快捷方式可以在任何类型的应用程序中使用吗?因为 SiriKit 只适用于旅游、聊天等。
  • 现在使用快捷方式。我可以通过 Siri 跳转到我的应用显示特定页面吗?</li>
4

1 回答 1

13

Siri 快捷方式可以在任何类型的应用程序中使用吗?因为 SiriKit 只适用于旅游、聊天等。

是的,任何。它们不依赖于任何特定域。他们是习惯的。

现在使用快捷方式。我可以通过 Siri 跳转到我的应用显示特定页面吗?</p>

是的。


下面的代码显示了如何通过 Siri 显示特定页面的最简单方法,它被称为“捐赠快捷方式”,通过NSUserActivity. 但是你可以通过定义一个 custom 来达到同样的效果INIntent

第1步:

Info.plist中,NSUserActivityTypes添加一个活动类型字符串:com.app.viewPage

第2步:

创建活动:

let viewPageActivityType = "com.app.viewPage"

let viewPageActivity: NSUserActivity = {
    let userActivity = NSUserActivity(activityType: viewPageActivityType)
    userActivity.title = "View Page"
    userActivity.suggestedInvocationPhrase = "View Page"
    userActivity.isEligibleForSearch = true
    userActivity.isEligibleForPrediction = true
    return userActivity
}()

然后将其添加到您的视图控制器:

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        userActivity = viewPageActivity
    }
}

第 3 步:

在方法中处理它UIApplicationDelegate(如果用户按下快捷方式,或通过语音从 Siri 激活,将调用此方法):

public func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {

    if userActivity.activityType == viewPageActivityType {
        print("open the `ViewController` here")
        return true
    }
    return false
}

用户打开ViewController一次后,他们可能会在锁定屏幕和搜索建议中获得建议。他们还可以去Settings -> Siri & Search -> My Shortcuts定义一个自定义短语来使用语音执行操作。

要对此进行调试,请确保使用设备(而不是模拟器)。然后去Settings -> Developer -> Enable "Display Recent Shortcuts" and "Display Donations on Lock Screen"

这方面有很多很棒的资源:

于 2018-06-07T03:40:58.317 回答