【问题标题】:StoreKit multiple transactionsStoreKit 多笔交易
【发布时间】:2016-03-17 04:48:10
【问题描述】:

我无法使用适用于 Mac OS 的 StoreKit 框架解决应用内购买问题。问题是这样的:

1) 我在购买开始时调用 addPayment 方法

2) 然后以交易状态 SKPaymentTransactionStatePurchasing 调用了两次 updatedTransactions 方法。第二次调用后 [[SKPaymentQueue defaultQueue].transactions count] 返回 2。

3) 当购买完成时,updatedTransactions 第三次调用交易状态为 SKPaymentTransactionStatePurchased。并且 [[SKPaymentQueue defaultQueue].transactions count] 返回 3。

4) 然后我用状态 SKPaymentTransactionStatePurchased 完成交易。但是在 defaultQueue 中仍然保留了两个带有 SKPaymentTransactionStatePurchasing 的交易。他们活着,直到应用程序终止。当我再次启动应用程序时,问题再次出现。

为什么只有一个 addPayment 调用进行这么多交易?以及如何解决这个问题?

【问题讨论】:

标签: xcode osx-yosemite storekit


【解决方案1】:

确保在以下任何事务状态之后调用 finishTransaction 方法:

1) SKPaymentTransactionStatePurchased

2) SKPaymentTransactionStateFailed

3) SKPaymentTransactionStateRestored

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];

在事务上调用 finishTransaction: 会将其从队列中移除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 2020-08-27
    • 2021-04-22
    • 2018-10-03
    • 1970-01-01
    • 2013-10-28
    • 2013-08-15
    相关资源
    最近更新 更多