IAP恢复自定义交易
问题描述:
我是新进iOS,我不知道是否有任何可能性来指定哪些完成的交易用户想要恢复?现在我正在使用:IAP恢复自定义交易
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
而我找不到任何东西来确切说明我要恢复哪个事务。
谢谢!
答
您正在正确的轨道上。添加
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
并添加委托函数paymentQueueRestoreCompletedTransactionsFinished。在此功能中,您可以粘贴特定的产品ID。
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
NSMutableArray *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];
if([productID isEqualToString:IN_APP_KEY_UNLOCK_SHIP_2])
{
//NSError *error = nil;
[[NSNotificationCenter defaultCenter] postNotificationName:@"ship2PurchaseRestored" object:nil];
}
}
}
谢谢你的回答,但它没有帮助。它甚至没有进入这个代码。 – dargod 2013-02-19 11:19:21
行得通,加\t [[SKPaymentQueue defaultQueue] addTransactionObserver:self];更新了我的答案.. – Guru 2013-02-19 11:20:56
仍然一样。之前我刚刚观察过,在restoreCompletedTransactions之后。无论如何,我已经改变了顺序,但没有区别。 – dargod 2013-02-19 11:27:45