我在iOS(耗材)上购买应用程序时遇到了一个非常烦人的问题。
当我再次启动我的应用程序时,我添加了一个事务观察器(正在实现的所有委托方法):
[[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询问我的密码,但是否提供密码不会改变问题。
答案 0 :(得分:0)
现在已修复。
我正在使用远程通知SDK,它也在跟踪购买(因此我能够向特定的付费用户发送通知)。 SDK在支付系统之前添加了一个transactionObserver,它没有对它做任何事情。这意味着调用了updateTransaction方法,但只有远程notif SDK才知道此更新。
在与支持人员联系后,他们确信它已在最新的SDK版本中修复,升级就可以了。