.refundRequestSheet 在 SwiftUI 中无法正常工作

问题描述 投票:0回答:2

我想在我的应用程序中使用

.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)
    }
}

申请退款并再次申请退款后,会出现退款视图。但消息是“您已经申请了此次购买的退款”,并且有一个关闭视图的按钮“完成”按钮。 退款视图中不可点击。

ios swiftui in-app-purchase subscription
2个回答
0
投票

我测试了两款机型,iphone6s也遇到了这种情况,但是iphone14promax没有这种情况,我也想知道如何解决这种情况,我有一个想法可能是全屏和非全屏的影响。


0
投票

请尝试这样:

@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)
        }
    }
})
© www.soinside.com 2019 - 2024. All rights reserved.