重置应用内购买以进行测试?

时间:2015-07-09 15:26:03

标签: ios swift in-app-purchase storekit

我在我的应用中添加了“移除广告”选项。我在沙盒模式下买了一次,但我需要重置它进行测试。它需要重置,所以当我尝试再次购买时,它将无法免费恢复。

func paymentQueue(queue: SKPaymentQueue!, updatedTransactions transactions: [AnyObject]!) {
    println("add payment")

    for transactions:AnyObject in transactions {
        var trans = transactions as! SKPaymentTransaction
        println(trans.error)

        switch trans.transactionState{

        case .Purchased:
            println("buy, ok unlock iad here")
            println(p.productIdentifier)

            let prodID = p.productIdentifier as String

            switch prodID {
                case "removeAds":
                println("remove ads")
                removeAds()
                break;

            default:
                println("IAP not set up")
            }

        case .Failed:
            println("buy error")
            queue.finishTransaction(trans)
            break;

        default:
            println("default")
            break;
        }
    }
}

func removeAds(){
    noAdsButton.alpha = 0.0
    adsOk = false
    adsOkDefault.setBool(false, forKey: "adsOk")
    println("REMOVE THE ADS")
}

我正在使用StoreKit。

1 个答案:

答案 0 :(得分:0)

要在初始调试期间反复测试IAP,最简单的方法是暂时将非耗材IAP切换为耗材。然后你可以通过一遍又一遍地购买来调试它。一旦你摆脱了大多数错误,你可以将其切换回非消耗品。然后测试将变得更加困难,因为您每次都需要创建一个新的测试用户。这里有关于这个问题的更长的文章:

Clearing purchases from IOS in-app purchase sandbox for a test user