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