ios - 如何判断购买了哪个IAP?

标签 ios swift in-app-purchase

我正在快速编写一些代码来处理 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;
            }
        }
    }
}

最佳答案

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


您可以在 its Class Reference 中阅读有关 SKPaymentTransaction 的更多信息.

关于ios - 如何判断购买了哪个IAP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29104377/

相关文章:

ios - goo.gl 不适用于深层链接

ios - 为什么iOS 10 Calendar.current.timeZone不返回我的本地时区?

Swift 排序数组总是按升序排列

android - 您要求的商品无法购买

java - Android 应用内购买责任

jquery - 为什么我的页面 div 会在 ios 上永远增长(仅限)?

ios - 未使用的可选绑定(bind)违规 : Prefer `!= nil` over `let _ =` (unused_optional_binding) while using swiftlint

json - 如何使用不同的键从 JSON 中获取数据?

ios - 如何使用 Swift 将音频文件保存到 iCloud?

android - 如何在Android中调试应用内计费?