【问题标题】:IAP restore custom transactionsIAP 恢复自定义交易
【发布时间】:2013-02-19 10:57:25
【问题描述】:

我是 iOS 新手,我想知道是否有可能指定哪个已完成的交易用户想要恢复?现在我正在使用:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

我在那里找不到任何东西来准确说明我要恢复哪个交易。

谢谢!

【问题讨论】:

    标签: ios in-app-purchase


    【解决方案1】:

    你在正确的轨道上。添加

    [[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];
            }
        }
    
    }
    

    【讨论】:

    • 感谢您的回答,但没有帮助。它甚至没有进入这段代码。
    • 好的,添加 [[SKPaymentQueue defaultQueue] addTransactionObserver:self];更新了我的答案..
    • 还是一样。我之前有观察者,就在 restoreCompletedTransactions 之后。反正我已经改了顺序,但没什么区别。
    • 查看你的接口声明:@interface IRInAppPurchase : NSObject
    • @interface IAPHelper : NSObject
    猜你喜欢
    • 2017-12-08
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2016-07-02
    • 1970-01-01
    • 2011-12-17
    相关资源
    最近更新 更多