当前位置 : 主页 > 手机开发 > ios >

ios – 如何使用Siri快捷方式在我的应用中显示特定页面?

来源:互联网 收集:自由互联 发布时间:2021-06-11
我想高级研究Shortcuts技术.所以这里有一些问题: 可以在任何类型的应用程序中使用Siri快捷方式吗?因为SiriKit只在旅游,聊天等工作. 现在使用快捷方式.我可以跳转到我的应用程序显示
我想高级研究Shortcuts技术.所以这里有一些问题:

>可以在任何类型的应用程序中使用Siri快捷方式吗?因为SiriKit只在旅游,聊天等工作.
>现在使用快捷方式.我可以跳转到我的应用程序显示Siri的特定页面吗?

Can Siri shortcuts be used in any type of app? Because of SiriKit only
working in tourism, chatting etc.

是的,任何.它们与任何特定域无关.他们是定制的.

Now using shortcuts. Can I jump to my app showing specific page by
Siri?

是.

下面的代码显示了如何通过Siri显示特定页面的最简单方法,它通过NSUserActivity称为“捐赠快捷方式”.但是你可以通过定义自定义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一次后,他们可能会在锁定屏幕和搜索建议中看到它.他们也可以去设置 – > Siri&搜索 – >我的快捷方式,用于定义自定义短语以使用语音执行操作.

要调试它,请确保使用设备(而不是模拟器).然后转到设置 – >开发者 – >启用“显示最近的快捷方式”和“在锁定屏幕上显示捐赠”.

这有很多很棒的资源:

> Apple Sample Code
> Introduction to Siri Shortcuts WWDC Session
> Donating Shortcuts Docs
> Relevant Shortcuts Docs

网友评论