【发布时间】:2013-02-19 10:57:25
【问题描述】:
我是 iOS 新手,我想知道是否有可能指定哪个已完成的交易用户想要恢复?现在我正在使用:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
我在那里找不到任何东西来准确说明我要恢复哪个交易。
谢谢!
【问题讨论】:
标签: ios in-app-purchase
我是 iOS 新手,我想知道是否有可能指定哪个已完成的交易用户想要恢复?现在我正在使用:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
我在那里找不到任何东西来准确说明我要恢复哪个交易。
谢谢!
【问题讨论】:
标签: ios in-app-purchase
你在正确的轨道上。添加
[[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];
}
}
}
【讨论】: