【问题标题】:iOS in-app-purchase restore returns many transactionsiOS 应用内购买恢复返回许多交易
【发布时间】:2012-06-06 10:29:42
【问题描述】:
当我恢复我之前的购买时。 Storekit 正在调用 updateTransations,之前有大量交易。不知道为什么每次还原都会返回如此大的数量,例如 100、200、245、360、650。
这种情况只发生在沙盒中吗?
如果不是,那么选择该项目的标准应该是什么。我有许多具有相同产品 ID 的商品?
【问题讨论】:
标签:
iphone
ios
in-app-purchase
restore
【解决方案1】:
有很多关于使用 updateTransactions 进行恢复的投诉。下面的代码可以工作,但它要求用户输入他们的用户名和密码。 (目前开发人员一直将其粘贴在需要按钮的 IBAction 调用中)
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
然后调用下面的委托。
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
for (SKPaymentTransaction *transaction in queue.transactions)
{
if ([myItem.productID isEqualToString:transaction.payment.productIdentifier])
{
myItem.purchased = YES;
}
}
}
如果没有需要恢复的项目,我想知道如何在界面上不添加“恢复”按钮的情况下执行此操作。