如何在 ios 10 中使用 Sirikit 为 SendPayment 意图自定义 "MoneySent" 意图 UI 屏幕
How to customize "MoneySent" intent UI screen for SendPayment intent using Sirikit in ios 10
我正在为支付域应用程序使用 SendPayment 意图。基本上,它显示两个屏幕:-
1) 发送门尼
2) 汇款
由于两个流都显示了相同的意图视图控制器,任何人都可以分享一些如何通过 "Money Sent" 视图更改 "Send Money" 意图视图的技巧。
此外,在 Apple 文档中,它是为使用 childViewController 编写的,但想知道它必须在什么基础上用作配置方法,intenthandlingstatus 始终是 "undefined"。
func configure(with interaction: INInteraction!, context: INUIHostedViewContext, completion: ((CGSize) -> Void)!) {
// here interaction.intentHandlingStatus allways shows undefined
}
求推荐。
谢谢
我没有发现 Apple 设置的任何变量能够区分确认步骤和发送步骤。
但是,如果您的数据结构正确,则有一种方法可以间接实现此功能。
Apple 要求您设置 PaymentRecord 并将其附加到 confirmSendPayment:completion 和 handleSendPayment:completion 中的每个 IntentResponse:
我所做的是在确认步骤中将付款状态设置为待定,然后在处理步骤中设置为已完成。因此,我可以在 UI 扩展中使用以下代码来显示我所处步骤的正确 UI:
INSendPaymentIntent *sendPaymentIntent = (INSendPaymentIntent *)interaction.intent;
INSendPaymentIntentResponse *sendPaymentResponse = (INSendPaymentIntentResponse *)interaction.intentResponse;
if (sendPaymentResponse.paymentRecord.status == INPaymentStatusPending) {
// Confirm step
[self setupUI:sendPaymentIntent forView:self.previewView];
self.previewView.hidden = false;
self.completeView.hidden = true;
} else if (sendPaymentResponse.paymentRecord.status == INPaymentStatusCompleted) {
// Action performed step
[self setupUI:sendPaymentIntent forView:self.completeView];
self.previewView.hidden = true;
self.completeView.hidden = false;
}
我正在为支付域应用程序使用 SendPayment 意图。基本上,它显示两个屏幕:- 1) 发送门尼 2) 汇款
由于两个流都显示了相同的意图视图控制器,任何人都可以分享一些如何通过 "Money Sent" 视图更改 "Send Money" 意图视图的技巧。
此外,在 Apple 文档中,它是为使用 childViewController 编写的,但想知道它必须在什么基础上用作配置方法,intenthandlingstatus 始终是 "undefined"。
func configure(with interaction: INInteraction!, context: INUIHostedViewContext, completion: ((CGSize) -> Void)!) {
// here interaction.intentHandlingStatus allways shows undefined
}
求推荐。 谢谢
我没有发现 Apple 设置的任何变量能够区分确认步骤和发送步骤。
但是,如果您的数据结构正确,则有一种方法可以间接实现此功能。
Apple 要求您设置 PaymentRecord 并将其附加到 confirmSendPayment:completion 和 handleSendPayment:completion 中的每个 IntentResponse:
我所做的是在确认步骤中将付款状态设置为待定,然后在处理步骤中设置为已完成。因此,我可以在 UI 扩展中使用以下代码来显示我所处步骤的正确 UI:
INSendPaymentIntent *sendPaymentIntent = (INSendPaymentIntent *)interaction.intent;
INSendPaymentIntentResponse *sendPaymentResponse = (INSendPaymentIntentResponse *)interaction.intentResponse;
if (sendPaymentResponse.paymentRecord.status == INPaymentStatusPending) {
// Confirm step
[self setupUI:sendPaymentIntent forView:self.previewView];
self.previewView.hidden = false;
self.completeView.hidden = true;
} else if (sendPaymentResponse.paymentRecord.status == INPaymentStatusCompleted) {
// Action performed step
[self setupUI:sendPaymentIntent forView:self.completeView];
self.previewView.hidden = true;
self.completeView.hidden = false;
}