SKPaymentTransaction卡住了

时间:2015-05-15 13:09:26

标签: ios in-app-purchase

我在iOS(耗材)上购买应用程序时遇到了一个非常烦人的问题。

案例

  • 我创建了付款申请
  • 我输入凭据并确认 购买。
  • 我在Apple确认购买之前退出了应用
  • 然后我从跳板(app被杀)接到一个弹出窗口说 付款已处理完毕。

问题

当我再次启动我的应用程序时,我添加了一个事务观察器(正在实现的所有委托方法):

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

我在此之后记录待处理的交易及其当前状态:

    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    /*
       Logging the content of[SKPaymentQueue defaultQueue].transactions
       shows a transaction with a state of SKPaymentTransactionStatePurchased
    */

但是这个交易似乎被阻止了,因为它从不调用

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

事情是它可能在前一次调用,但在调用之前我崩溃/退出

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];

由于此事务从未调用finishTransaction:,因此它仍处于暂挂状态,但是应该使用此事务调用paymentQueue:updatedTransactions:吗?

编辑:我在每次发布时都会被iTunes询问我的密码,但是否提供密码不会改变问题。

1 个答案:

答案 0 :(得分:0)

现在已修复。

我正在使用远程通知SDK,它也在跟踪购买(因此我能够向特定的付费用户发送通知)。 SDK在支付系统之前添加了一个transactionObserver,它没有对它做任何事情。这意味着调用了updateTransaction方法,但只有远程notif SDK才知道此更新。

在与支持人员联系后,他们确信它已在最新的SDK版本中修复,升级就可以了。