Ios INSendPaymentIntent在句柄完成后打开应用程序-SiriKit Intents
如何从Intents将我的应用程序打开到特定页面 正在添加:未调用AppDelegate方法:Ios INSendPaymentIntent在句柄完成后打开应用程序-SiriKit Intents,ios,swift,sirikit,Ios,Swift,Sirikit,如何从Intents将我的应用程序打开到特定页面 正在添加:未调用AppDelegate方法: func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { 我在handle中使用了以下代码: let bundle =
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
我在handle中使用了以下代码:
let bundle = Bundle(for: SendPaymentIntentHandler.self)
let bundleIdentifier = bundle.object(forInfoDictionaryKey: "CFBundleIdentifier") as? String ?? "com.XXX.XXXX"
print("BundleIdentifier \(bundleIdentifier)")
let userActivity = NSUserActivity(activityType: String(describing: INSendMessageIntent.self))
userActivity.userInfo = [NSString(string: "success"):NSString(string: "openTPage")]
let response = INSendPaymentIntentResponse(code: .success, userActivity: userActivity)
let paymentRecord = INPaymentRecord(payee: payee, payer: nil, currencyAmount: currencyAmount, paymentMethod: nil, note: intent.note, status: .pending)
response.paymentRecord = paymentRecord
completion(response)
但我通过控制台获得以下状态,并且我的应用程序未打开:
好的。在这里分享,以便快速参考 在撞了我的头2-3天后,我得出了这个结论,如果有人知道其他情况,请告诉我 首先:词汇表仅用于快捷方式,不能通过意图直接与Siri交谈 链接: 自定义意图目前用于创建Siri快捷方式,而不是用于临时语音查询。您只能通过记录在案的SiriKit域与Siri谈论您的应用程序。我希望通过自定义意图实现更多互动是Siri技术路线图的一部分,但iOS 12中没有 第二:我们没有太多的选择来打开我们的应用程序或通过Siri进行深度链接。 在某些意向响应代码(例如,instartworkoutinententresponse)中,选项仅为
continueInApp
和FailureRequiremingApplaunch
,而不是全部(例如:INSendPaymentIntentResponse)
链接:
Intents可能会在以下情况下启动您的应用程序:
某些意图总是在成功处理意图后启动应用程序(例如,带有continueInApp响应代码的意图)。
当您使用failureRequiringAppLaunch(或类似)响应代码解决意图时,您的意图的句柄和确认方法将启动应用程序。
用户可以随时决定在Siri事务中的任何时间启动应用程序
请更新,如果任何人有其他信息与链接
谢谢