2009-11-13 80 views
10

我调试恢复交易,并在我的调试配置一切正常工作:SKPayementQueue:恢复交易完成且没有调用释放配置“updatedTransactions”,但不能调试配置

IE我打电话:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

晚些时候的queueCalls:

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

和一段时间后,它调用:

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { 

大家都很开心。

但是在我的发布配置中,我从来没有看到对updatedTransactions的调用,所以我从来没有真正恢复购买。

可能与我尝试还原后无法正常工作有关。我重新启动应用程序,并发现当我向商店索要产品列表时,我没有得到回复。

+1

我相信这是一个在storekit中的错误。 – 2009-11-16 12:07:42

+1

在调试/发布配置中发布差异会有所帮助。它只是代码签名和优化不同,还是还有其他更改? – 2010-11-10 13:56:20

+0

StoreKit真的很糟糕;我认为卡尔是对的。我希望你能解决问题,但如果这个问题持续一段时间,我不会感到惊讶。 – 2010-12-03 04:22:31

回答

1

此错误情况与配置无关。这是商店套件中的间歇性错误。

-1

您是否以这种方式将付款对象添加到付款队列中?

SKPayment * payment = [SKPayment paymentWithProductIdentifier:“Your Product identifier”]; [[SKPaymentQueue defaultQueue] addPayment:payment];

如果您使用这种方式,则在支付队列中添加付款对象之后立即调用UpdatedTransactions。您不必显式调用它。它受存储工具包处理。

+0

这与OP的恢复问题有什么关系? – Cal 2014-01-14 23:27:40

1

卡尔,正如你所说,它似乎是一个间歇性的错误。 但是,如果我使用美国商店进行测试,我也发现它不会发生(或者至少我还没有看到它)。我一直在使用英国的测试用户,今天它每一次都惨败。创建一个美国测试用户,并自动切换到美国商店后,它再次完美地工作。 这不是一个修复,但它可能是有用的;)