我使用我的设备和 Xcode 购买带有 StoreKit 2 的消耗品:
let result = try await product.purchase()
switch result {
case .success(let verification):
switch verification {
case .verified(let transaction):
await transaction.finish() // comes here
...
}
它成功了(我得到了其中包含已验证交易的结果,我的服务器验证了收据)。
但之后我无法获得任何交易(我需要它来启动 iOS 15 退款应用内流程),这些作品中没有任何内容:
Transaction.currentEntitlements
、Transaction.latest(for: productId)
、Transaction.currentEntitlement(for: productId)
- 始终nil
和[]
。即使Transaction.updates
也不会发射任何东西。
我唯一提到的是https://developer.apple.com/forums/thread/689480
有什么想法吗?
我在 storekit2 上遇到了类似的问题,它看起来像是设计使然,至少根据苹果在开发论坛上的回应https://developer.apple.com/forums/thread/687199
我还没有查看原始商店套件 api 中是否有办法做到这一点。
这是一个非常老的问题,但如果有人仍然遇到同样的问题。我正在使用:
try await Transaction.beginRefundRequest(for: transactionId, in: scene)
您唯一需要的是交易 ID。