在watchOS(3.2和4)上无法让SirendPaymentIntent与SiriKit一起使用

时间:2017-07-13 17:05:52

标签: ios swift xcode watch-os-3 watch-os-4

我需要完成watchOS sirikit支付应用程序(显然是iPhone应用程序的配套应用程序)。 相同的框架,意图和处理程序的逻辑正在iOS上运行。

我开发了intent和handler。当我向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和项目具有正确的权限和功能。 付款意向Plist具有以下键。 Image Link for Plist Keys for Payment Intent

// 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。

0 个答案:

没有答案