iOS6 – 在从苹果服务器下载的应用程序购买

我能够成功地进行inapp购买,并从苹果服务器下载内容并使用它。
我的应用购买内容是非消耗性的。 所以我在我的应用程序中提供“恢复”button
现在当用户按“还原”button,我打电话给方法:

restoreCompletedTransactions 

但在这里,我没有得到调用委托方法:

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

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

根据苹果,它说:

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

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

您可能不会观察事务队列。 确保你有

 [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 

在调用restoreCompletedTransactions方法之前的某个地方