IAP提交审核时,如果应用程序中带有非消耗性商品,需要增加restore解决方案,一个比较简单的方案就是增加一个Restore按钮,
按钮调用restoreCompletedTransactions方法
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
这样将恢复所有已经完成的transaction。
调用方法之后
1.需要处理SKPaymentTransactionObserver中的
- paymentQueue:restoreCompletedTransactionsFailedWithError:
- paymentQueueRestoreCompletedTransactionsFinished:
两个方法,分别在这两个方法中处理,恢复成功和失败的情况。
2.
- paymentQueue:updatedTransactions: 中要处理state为SKPaymentTransactionStateRestored的SKPaymentTransaction