我正在使用非消费品购买应用程序,它被苹果拒绝,原因是:
我们发现您的应用提供可以恢复的应用内购买,但它不包含“恢复”功能,以允许用户恢复之前购买的应用内购买。
要恢复以前购买的应用程序内购买产品,最好提供“恢复”按钮,并在点击“恢复”按钮时启动恢复过程。
有关恢复交易和验证商店收据的更多信息,请参阅
并且没有可以引用的链接,我已经实现了:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
与
SKPaymentTransactionStateRestored
案例。
但我没有实施:
`restoreCompletedTransactions` or `paymentQueueRestoreCompletedTransactionsFinished`
这些方法是批准应用内购买所必需的,或者确切的问题是什么。
由于
答案 0 :(得分:22)
使用以下内容恢复用户从您的应用中购买的产品ID
- (void) checkPurchasedItems
{
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}// Call This Function
//Then this delegate Function Will be fired
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
purchasedItemIDs = [[NSMutableArray alloc] init];
NSLog(@"received restored transactions: %i", queue.transactions.count);
for (SKPaymentTransaction *transaction in queue.transactions)
{
NSString *productID = transaction.payment.productIdentifier;
[purchasedItemIDs addObject:productID];
}
}
purchaseItemIDs将包含用户购买它的所有产品ID ..您可以在完成后点击此按钮调用此功能,以显示所有这些产品,以便用户再次下载。