kga*_*dis 10
Siri快捷方式可用于任何类型的应用程序吗?因为SiriKit只在旅游,聊天等工作.
是的,任何.它们与任何特定域无关.他们是定制的.
现在使用快捷方式.我可以跳转到我的应用程序显示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
}()
Run Code Online (Sandbox Code Playgroud)
然后将其添加到视图控制器:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
userActivity = viewPageActivity
}
}
Run Code Online (Sandbox Code Playgroud)
第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
}
Run Code Online (Sandbox Code Playgroud)
用户打开ViewController一次后,他们可能会在锁定屏幕中显示建议并搜索建议.他们还可以Settings -> Siri & Search -> My Shortcuts定义自定义短语以使用语音执行操作.
要调试它,请确保使用设备(而不是模拟器).然后去Settings -> Developer -> Enable "Display Recent Shortcuts" and "Display Donations on Lock Screen".
这有很多很棒的资源:
| 归档时间: |
|
| 查看次数: |
2318 次 |
| 最近记录: |