首页 文章

SKPaymentTransaction卡住了

提问于
浏览
0

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

案例

  • 我创建了一个付款请求

  • 我输入凭据并确认购买 .

  • 我在Apple确认购买之前退出了应用程序

  • 然后我从跳板(应用程序被杀)接收弹出窗口,说付款已处理完毕 .

问题

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

[[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: 从未被调用此事务,因此's normal it'仍然未决,但 paymentQueue:updatedTransactions: 应该通过此事务调用吗?

Edit: 我在每次发布时都被iTunes要求输入密码,但是否提供密码不会改变问题 .

1 回答

  • 0

    这已经修复了 .

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

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

相关问题