iOS 应用内购买:何时以及为什么会SKPaymentTransactionStateRestored
作为交易状态返回?
它是否与定期订阅计划有关?
iOS 应用内购买:何时以及为什么会SKPaymentTransactionStateRestored
作为交易状态返回?
它是否与定期订阅计划有关?
当您SKPaymentTransactionStateRestored
通过向.SKPaymentTransactionStatePurchased
restoreCompletedTransactions
SKPaymentQueue
一般规则是处理两个回调:购买和恢复购买。
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
[self restoreTransaction:transaction];
default:
break;
}
}
}
- (void) completeTransaction: (SKPaymentTransaction *)transaction
{
[self recordTransaction: transaction content:transaction.payment.productIdentifier];
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
- (void) restoreTransaction: (SKPaymentTransaction *)transaction
{
[self recordTransaction: transaction content:transaction.originalTransaction.payment.productIdentifier];
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}