Tyl*_*fer 5 ios siri ios-app-extension ios10 sirikit
我想用SiriKit开始锻炼.开始锻炼需要从app扩展程序打开主应用程序.
Apple为INStartWorkoutIntentHandling处理程序提供的样板是
func handle(startWorkout startWorkoutIntent: INStartWorkoutIntent, completion: (INStartWorkoutIntentResponse) -> Void) {
let userActivity = NSUserActivity(activityType: NSStringFromClass(INStartWorkoutIntent))
let response = INStartWorkoutIntentResponse(code: .success, userActivity: userActivity)
completion(response)
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能从这里打开自己的应用程序?像myapp://workout?action=start&name=pushups 这样的回答似乎没有相关性,因为我没有这个扩展类型UIViewController的extensionContext属性.
最后一个相关位:对于其他操作(暂停,结束)我宁愿不打开主应用程序,而只是暂停在主应用程序中运行的锻炼.我可以使用类似的自定义URL来暂停它,但这会打开应用程序,这是一个额外的不必要的步骤.有什么好方法告诉主应用程序在不打开应用程序的情况下从INExtension中采取特定操作?
对于后代:事实证明,这是 Xcode 8 beta 之间此功能的逐步引入,它已在 Xcode 8 beta 3 中得到解决。他们在这个版本中添加了代码.continueInApp,INStartWorkoutIntentResponseCode但在 Xcode 8 beta 2 中不存在。状态代码允许直接传递 NSUserActivity(无需使用 URL 方案)。
| 归档时间: |
|
| 查看次数: |
2246 次 |
| 最近记录: |