我需要完成 watchOS sirikit 支付应用程序(显然作为 iPhone 应用程序的配套应用程序)。 相同的框架、意图逻辑和处理程序正在 iOS 上运行。
我开发了意图和处理程序。当我问 Siri 下面这句话时,
using MyApp send Albert $40
Siri回复...
Sorry I can't do that. and give a button Open MyApp
我看到一些帖子说在 watchOS 上不提供 Siri 的支付意图。但我在 SDK 中看到了这一点。请指点。
@available(watchOS 3.2, *)
open class INSendPaymentIntent : INIntent {
public init(payee: INPerson?, currencyAmount: INCurrencyAmount?, note: String?)
@NSCopying open var payee: INPerson? { get }
@NSCopying open var currencyAmount: INCurrencyAmount? { get }
open var note: String? { get }
}
Plists 和项目具有正确的权限和能力。Payment Intent Plist 具有以下键。 支付意图的 Plist 键的图像链接
// WatchIntentsExtension.swift
import Intents
import PaymentsFrameworkWatchOS
class WatchIntentsExtension: INExtension {
let paymentProvider = PaymentProvider()
let contactLookup = ContactLookup()
override func handler(for intent: INIntent) -> Any? {
print("Watch Overriding")
guard intent is INSendPaymentIntent else { fatalError("Unhandled intent type \(intent)") }
return WatchSendPaymentIntentHandler(paymentProvider: paymentProvider, contactLookup: contactLookup)
}
}
Handler
由于存在合规性问题,我无法发布代码。而且...我在那里做的不多。不过,相同的代码适用于 iPhone Siri。