如何确定购买了哪种IAP?

时间:2015-03-17 16:20:35

标签: ios swift in-app-purchase

我正在用swift编写一些代码来处理IAP。如何确定在paymentQueue函数中购买了哪个IAP?

这是我到目前为止的代码:

func paymentQueue(queue: SKPaymentQueue!, updatedTransactions transactions: [AnyObject]!)    {

    println("Received Payment Transaction Response from Apple")

    for transaction:AnyObject in transactions {
        if let trans:SKPaymentTransaction = transaction as? SKPaymentTransaction{
            switch trans.transactionState {
            case .Purchased:
                println("Product Purchased");
                SKPaymentQueue.defaultQueue().finishTransaction(transaction as SKPaymentTransaction)
                break;
            case .Failed:
                println("Purchased Failed");
                SKPaymentQueue.defaultQueue().finishTransaction(transaction as SKPaymentTransaction)
                break;
            case .Restored:
                println("Product Restored");
                SKPaymentQueue.defaultQueue().finishTransaction(transaction as SKPaymentTransaction)
                // case .Restored:
                //[self restoreTransaction:transaction];
            default:

                break;
            }
        }
    }
}

2 个答案:

答案 0 :(得分:2)

SKPaymentTransaction实例payment属性的productIdentifier值会为您提供相关产品。


您可以在its Class Reference中详细了解SKPaymentTransaction

答案 1 :(得分:1)

相关问题