我想在我的应用程序中使用
.refundRequestSheet
方法让用户退款。它无法正常工作。
这里有问题。
如何得知用户退款操作的结果? 有[请求退款]按钮,点击它没有任何反应,退款视图消失后总是返回
.userCancelled
。
.refundRequestSheet(
for: selectedTransactionID ?? 0,
isPresented: $refundSheetIsPresented
) { result in
switch result {
case .success(let status):
switch status {
case .success:
log(" success")
case .userCancelled:
log(" userCancelled")
@unknown default:
log(" default")
}
case .failure(let error):
log(error)
}
}
申请退款并再次申请退款后,会出现退款视图。但消息是“您已经申请了此次购买的退款”,并且有一个关闭视图的按钮“完成”按钮。 退款视图中不可点击。
我测试了两款机型,iphone6s也遇到了这种情况,但是iphone14promax没有这种情况,我也想知道如何解决这种情况,我有一个想法可能是全屏和非全屏的影响。
请尝试这样:
@State private var refundSheetIsPresented = false
// ...
Button("Request Refund") {
refundSheetIsPresented = true // Show the refund view
}
.sheet(isPresented: $refundSheetIsPresented, content: {
refundRequestSheet(
for: selectedTransactionID ?? 0,
isPresented: $refundSheetIsPresented
) { result in
switch result {
case .success(let status):
switch status {
case .success:
log("Refund success")
case .userCancelled:
log("Refund userCancelled")
@unknown default:
log("Refund default")
}
case .failure(let error):
log(error)
}
}
})