【问题标题】:IAP: Receives `paymentQueueRestoreCompletedTransactionsFinished:` callback with unfinished transactionsIAP:接收带有未完成交易的`paymentQueueRestoreCompletedTransactionsFinished:`回调
【发布时间】:2014-03-10 14:59:29
【问题描述】:

有时我会收到此回调

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue

甚至在我收到这个之前

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

我什至不会说finishTransaction:。我觉得这个超级奇怪。我一直假设paymentQueueRestoreCompletedTransactionsFinished: 在我将每个未完成的事务标记为已完成之前不会被触发。

这是预期的行为吗?

这是我在文档中找到的

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue Description 告诉观察者支付队列已完成发送恢复的交易。之后调用此方法 所有可恢复的交易都已由支付队列处理。 您的应用程序不需要在此方法中执行任何操作。

我不确定这是什么意思。

【问题讨论】:

    标签: ios in-app-purchase storekit


    【解决方案1】:

    我发现头文件本身在这部分最清楚。

    @interface SKPaymentQueue : NSObject
    ...
    // Array of unfinished SKPaymentTransactions.  Only valid while the queue has observers.  Updated asynchronously.
    @property(nonatomic, readonly) NSArray *transactions;
    
    @end
    
    @protocol SKPaymentTransactionObserver
    // Sent when all transactions from the user's purchase history have successfully been added back to the queue.
    - (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
    ...
    @end
    

    这两者结合起来使其明确。 一旦StoreKit 将所有事务添加到SKPaymentQueue,就会触发paymentQueueRestoreCompletedTransactionsFinished-[SKPaymentQueue transactions] 只有一个未完成交易的列表。

    我认为文档可能对此更清楚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 2014-10-05
      相关资源
      最近更新 更多