SKPaymentTransactionState 为 SKPaymentTransactionStatePurchasing 时怎么办?

What should we do when SKPaymentTransactionState is SKPaymentTransactionStatePurchasing?

当我尝试使用 Sandbox 用户购买产品时,我正在将 inApp 集成到我的应用程序中,我得到的状态为 "SKPaymentTransactionStatePurchasing"。我应该怎么办?。我能够更早地购买相同的产品

SKPaymentQueue 收到了一些 transactionState 的不同。 SKPaymentTransactionStatePurchasing 只是通知您的应用程序 iTunes 正在购买。通常你可以忽略它,除非你想在购买过程中向用户显示一些东西。

您应该对购买完成后触发的 SKPaymentTransactionStatePurchased 状态更感兴趣。

问题是我在应用启动期间没有观察到付款队列。一旦我做了同样的事情,我的问题就得到了纠正。问题的原因是在购买包后我在完成交易之前终止了应用程序,即 [[SKPaymentQueue defaultQueue] finishTransaction: transaction] 从未被调用过。我添加了用于观察 inApp 事务的代码,即 [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 在应用程序启动期间 - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 在应用程序启动时被调用。