swift – SKPaymentQueue没有为自动续订订阅产品完成SKPaymentTr
我正在尝试实施自动续订订阅产品.问题是SKPaymentQueue无法通过调用SKPaymentQueue.defaultQueue().finishTransaction(transaction)来完成SKPaymentTransaction.
func paymentQueue(queue: SKPaymentQueue,updatedTransactions transactions: [SKPaymentTransaction]) { if let transactions = transactions as? [SKPaymentTransaction] { for transaction in transactions { switch transaction.transactionState { case .Purchasing: break case .Purchased: queue.finishTransaction(transaction) // finish transaction self.purchasedWithTranasction(transaction) case .Failed: queue.finishTransaction(transaction) // finish transaction self.failedWithTransaction(transaction) case .Restored: queue.finishTransaction(transaction) // finish transaction self.restoredWithTransaction(transaction) case .Deferred: queue.finishTransaction(transaction) // finish transaction } } } } 如上所述,在paymentQueue:updatedTransactions:方法中,调用queue.finishTransaction(事务).通常情况下,交易已完成,不再停留. 但是,当我再次运行该应用程序时,该交易仍未完成.顺便说一句,我在AppDelegate中设置了事务观察器,如下所示.因此,当应用程序启动时,通过调用paymentQueue:updatedTransactions:开始处理剩余的事务.这不像我的期望. func application(application: UIApplication,didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // add transaction observer SKPaymentQueue.defaultQueue().addTransactionObserver(CargoBay.sharedManager()) .... return true } 你们对这个问题有什么看法吗?有没有SKPaymentQueue.defaultQueue().finishTransaction(交易)没有完成交易的情况? 解决方法
您是否有可能再次看到相同的交易,而是从iTunes沙箱中获得新的自动续订交易?
在iTunes沙箱中测试自动续订订阅时,他们会人为地加快续订速度.这会导致每隔几分钟就会出现一个新事务. 从Testing Your App and In-App Purchase Products开始:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |