在App Purchase中 - 当试图再次购买消费品时 - 这个应用内购买已经被购买

时间:2014-11-14 19:11:00

标签: ios xcode swift skproduct

我的iTunes连接中有可用的产品,当我试图买两次(在我的iPhone上)时,它告诉我我已经买了它。但这是消耗品的全部要点,用户可以一遍又一遍地购买。有什么建议吗?

2 个答案:

答案 0 :(得分:25)

如果您没有将原始购买的交易标记为已完成,则会发生这种情况,您应该在成功处理购买后在- (void)paymentQueue:(SKPaymentQueue*)queue updatedTransactions:(NSArray*)transactions方法中执行此操作。

您需要调用的方法是[[SKPaymentQueue defaultQueue] finishTransaction:transaction]

答案 1 :(得分:-2)

public func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for transaction in transactions {
        switch (transaction.transactionState) {
        case .purchased:
            complete(transaction: transaction)
            break
        case .failed:
            fail(transaction: transaction)
            break
        case .restored:
            restore(transaction: transaction)
            break
        case .deferred:
            break
        case .purchasing:
            break
        }
    }
}