首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKPaymentQueue没有完成自动可再生订阅产品的SKPaymentTransaction。

SKPaymentQueue没有完成自动可再生订阅产品的SKPaymentTransaction。
EN

Stack Overflow用户
提问于 2016-08-08 11:32:55
回答 1查看 1.2K关注 0票数 6

我正在尝试实现自动可再生订阅产品.问题是SKPaymentQueue不能通过调用SKPaymentQueue.defaultQueue().finishTransaction(transaction)来完成SKPaymentTransaction

代码语言:javascript
复制
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(transaction)。正常情况下,事务已经完成,不会再停留了。

但当我再次运行该应用程序时,交易仍未完成。顺便说一下,我在AppDelegate中设置了事务观察者,如下所示。因此,当应用程序启动时,剩下的事务将通过调用paymentQueue:updatedTransactions:开始处理。这不像我的期望。

代码语言:javascript
复制
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // add transaction observer
    SKPaymentQueue.defaultQueue().addTransactionObserver(CargoBay.sharedManager())

    ....

    return true
}

你们知道这个问题吗?是否存在SKPaymentQueue.defaultQueue().finishTransaction(transaction)不完成事务的情况?

EN

回答 1

Stack Overflow用户

发布于 2017-08-03 14:10:23

您是否有可能不再看到相同的事务,而是从iTunes沙箱中看到一个新的自动更新事务?

在iTunes沙箱中测试自动续订订阅时,它们人为地加快了续订率。这将导致每隔几分钟出现一个新事务。

来自测试您的应用程序和应用程序中的购买产品

在测试环境中测试自动更新订阅时,请记住持续时间是压缩的。此外,测试订阅最多只能自动续订六次.

  • 1周:3分钟
  • 1个月:5分钟
  • 2个月: 10分钟
  • 3个月: 15分钟
  • 6个月: 30分钟
  • 1年:1小时
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38828163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档