首页 » ios付费应用 » 我的应用没有响应处理消耗品兑换PromoCodeCodeCode

我的应用没有响应处理消耗品兑换PromoCodeCodeCode

 

问题描述

我的应用程序内置了应用程序内购买(我按照本教程进行了操作)并且购买有效。但是,当我在 App Store 中兑换促销代码以进行其中一项应用内购买时,我的应用没有响应。连App Store都不行 说产品兑换成功app store无法兑换代码,我的app没有反应。

有没有人测试过您的应用是否可以处理促销代码?你介意分享解决方案吗?

我从这个开始:

ios9无法连接到app store_app store无法更新 无法下载应用_app store无法兑换代码

override func viewDidLoad() {
    NotificationCenter.default.addObserver(self,
        selector: #selector(applicationDidBecomeActive(notification:)),
        name: NSNotification.Name.UIApplicationDidBecomeActive,
        object: nil
    )
}
func applicationDidBecomeActive(notification: NSNotification){
    let store = IAPHealper()
    //what needs to be put here?
}
extension IAPHelper: SKPaymentTransactionObserver {
    public func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
        for transaction in transactions {
            switch (transaction.transactionState) {
            case .purchased:
                completeTransaction(transaction)
                break
            case .failed:
                failedTransaction(transaction)
                break
            case .restored:
                restoreTransaction(transaction)
                break
            case .deferred:
                break
            case .purchasing:
                break
            }
        }
    }
    fileprivate func completeTransaction(_ transaction: SKPaymentTransaction) {
        print("completeTransaction...")
        deliverPurchaseNotificatioForIdentifier(transaction.payment.productIdentifier)
        defaultQueue.finishTransaction(transaction)
        purchaseCompletionHandler?(true, transaction)
    }
    fileprivate func restoreTransaction(_ transaction: SKPaymentTransaction) {
        guard let productIdentifier = transaction.original?.payment.productIdentifier else { return }
        print("restoreTransaction... (productIdentifier)")
        deliverPurchaseNotificatioForIdentifier(productIdentifier)
        defaultQueue.finishTransaction(transaction)
    }
    fileprivate func failedTransaction(_ transaction: SKPaymentTransaction) {
        print("failedTransaction...")
        if transaction.error!._code != SKError.paymentCancelled.rawValue {
            print("Transaction Error: (String(describing: transaction.error?.localizedDescription))")
            purchaseCompletionHandler?(false, transaction)
        }
        defaultQueue.finishTransaction(transaction)
    }
    fileprivate func deliverPurchaseNotificatioForIdentifier(_ identifier: String?) {
        guard let identifier = identifier else { return }
        purchasedProductIdentifiers.insert(identifier)
        //NSNotificationCenter.defaultCenter().postNotificationName(IAPHelper.IAPHelperPurchaseNotification, object: identifier)
    }
    public func paymentQueue(_ queue: SKPaymentQueue, removedTransactions transactions: [SKPaymentTransaction]){
        print("Removed from queue.")
        print(transactions)
    }
}

谢谢。

推荐答案

app store无法兑换代码_app store无法更新 无法下载应用_ios9无法连接到app store

@提供了非常有用的信息。我只是想总结一下处理消耗品兑换促销代码的解决方案。

一世。您应该使用并将此代码放入:

SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
    for purchase in purchases {
        switch purchase.transaction.transactionState {
        case .purchased, .restored: 
            if purchase.needsFinishTransaction {
                SwiftyStoreKit.finishTransaction(purchase.transaction)
            }
            // Unlock content
            self.unlockIAPContent(productID: purchase.productId)
        case .failed, .purchasing, .deferred:
            break // do nothing
        }
    }
}

ios9无法连接到app store_app store无法更新 无法下载应用_app store无法兑换代码

二.如果要任意调用逻辑app store无法兑换代码,请考虑使用,将代码放在//解锁内容中

三.如何测试?

在 iOS 11 版本中,Apple 引入了一项新功能,可直接在 App Store 中推广您的应用内购买。

首先添加处理程序:

然后在你的 Mac 上写下下面的 URL,然后到你的 iOS 设备上用 .

app store无法兑换代码_ios9无法连接到app store_app store无法更新 无法下载应用

itms-services://?action=purchaseIntent&bundleId=com.example.app&productIdentifier=product_name

然后你在 () 中的完成块将被触发。

这也可用于测试促销代码兑换,因为 URL 请求会创建待处理事务并将其添加到队列中。确保为您的产品版本删除此代码。

希望这可以帮助!

节点/小火箭/美区ID/国外苹果ID/美区小火箭购买/美区小火箭兑换码/shadowrocket兑换码/苹果商店下载shadowrocket网址

原文链接:我的应用没有响应处理消耗品兑换PromoCodeCodeCode,转载请注明来源!

0