SKPaymentQueue.default().add(payment) 忽略

SKPaymentQueue.default().add(payment) ignored

我做的第一件事就是注册观察者。

SKPaymentQueue.default().add(self)

然后我发送 SKProductsRequest 并获得产品。

调用 restoreCompletedTransactions() 触发 paymentQueueRestoreCompletedTransactionsFinished 并由此确认观察者设置正确。

但是当我现在尝试使用其中一种方式付款时

SKPaymentQueue.default().add(SKPayment(product: product))

let payment = SKMutablePayment()
payment.productIdentifier = productIdentifier
SKPaymentQueue.default().add(payment)

没有一个 SKPaymentTransactionObserver 函数被调用,也没有要求用户确认购买或登录。我没有看到任何错误 - 没有。

add 个交易都在排队(SKPaymentQueue.default().transactions),但它们不会触发任何用户交互。

这是在使用沙箱。登录购买对话框只弹出一次。登录后出现故障,我需要切换 AppStore 区域。不知道该怎么做 - 但一次一个问题。

有人对此行为有解释吗?

not a single of the SKPaymentTransactionObserver functions is being called. I see no error - nothing.

这是预期的行为。添加付款后,直到用户执行某些操作(如购买),您才会收到事件。但是您没有购买,因为正如您所说,根本没有发生任何进一步的事情(也许是因为您有一些问题需要解决应用商店领域)。

确实 SKPaymentQueue.default().add(payment) 不应该被忽视。期间.

我不确定我的机器上发生了什么,但在重新启动后一切开始正常运行。登录对话框可靠地出现,并且出于某种奇怪的原因取消它会自动切换区域并且一切都开始工作。没有得到对话框或错误似乎值得打开雷​​达 - 但由于我无法再重现它,我只是把它留在这里供其他人在 运行 遇到同样的问题时找到。

主动换领地的信息我还在追,有谁知道