gpt4 book ai didi

ios - 使用 NSUserActivity 时如何将值返回给 Siri Shortcut?

转载 作者:行者123 更新时间:2023-11-29 05:40:53 25 4
gpt4 key购买 nike

我正在使用 NSUserActivity 定义应用程序函数,因此它会出现在 Spotlight 和 Siri 快捷方式中:

let activity = NSUserActivity(activityType: "com.myapp.siriTest")
activity.title = "Test function"
activity.userInfo = ["parameter" : "test"]
activity.isEligibleForSearch = true
activity.isEligibleForPrediction = true
activity.persistentIdentifier = NSUserActivityPersistentIdentifier(rawValue: "com.myapp.siriTest")
view.userActivity = activity
activity.becomeCurrent()

这部分工作正常,调用上述函数后,测试功能按钮出现在 Spotlight 和 Shortcuts 中。如果我从此意图启动应用程序,我可以在我的 AppDelegate 中收听它:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
print("app started from spotlight or shortcuts");
return true
}

两个问题:

  1. 如果应用程序是从“快捷方式”应用程序创建的快捷方式启动的,是否可以将值返回到快捷方式?例如,我将返回一些文本,而快捷方式中的下一步将发送包含该文本的短信。
  2. 如果我有多个 NSUserActivity,我如何在 AppDelegate RestorationHandler 中区分它们?

最佳答案

我对此很好奇,但是apparently这是不可能的。

快捷方式的输出由 SiriKit 中的意图响应处理。

像 Jayson 这样的应用程序采用的一种(hacky)解决方法是将 NSUseractivity 的输出复制到剪贴板,然后可以使用“获取剪贴板”操作在快捷方式中访问该输出。

或者,添加 intents到您的项目。

关于ios - 使用 NSUserActivity 时如何将值返回给 Siri Shortcut?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56571152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com