2012-12-03 59 views
1

我能够成功进行inapp购买并从Apple服务器下载内容并使用它。
我的应用购买内容是非消耗品。所以,我提供我的应用程序现在
“恢复”按钮,当用户按下“恢复”按钮,我打电话的方法:iOS6 - 在从Apple服务器下载应用程序时购买

restoreCompletedTransactions 

但在这里,我没有收到电话委托方法:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 

这样我就可以识别事务对象并开始从Apple服务器再次下载内容。有人可以帮我写“恢复”选项吗?

按照苹果公司,它说:

//异步。将当前用户的完成事务添加回队列以重新完成。用户将被要求认证。观察者将收到0或更多-paymentQueue:updatedTransactions :,后跟-paymentQueueRestoreCompletedTransactionsFinished:成功或-paymentQueue:restoreCompletedTransactionsFailedWithError:失败。在部分成功的情况下,一些交易仍可能交付。

但是对于我来说,我没有接到电话“paymentQueue:updatedTransactions”。我刚刚接到电话“paymentQueueRestoreCompletedTransactionsFinished:”

回答

2

您可能没有观察到事务队列。请确保您有

[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 

地方调用restoreCompletedTransactions方法

+0

不,我在这之前。 – Satyam

+0

恢复后,我收到回电: - (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)队列,但如何获取交易对象并获取内容下载? – Satyam

+0

这很奇怪。 paymentQueue:updatedTransactions:方法应该被调用。可能之前调用此方法,但您没有在它之后调用[[SKPaymentQueue defaultQueue] finishTransaction:transaction]?如果是这种情况,那么从设备中删除应用程序并尝试用相同的测试用户再次恢复产品应该这样做。 – dariaa

相关问题