SKPayementQueue:恢复事务完成而不在调试配置中调用'updatedTransactions'而不调用调试配置

时间:2009-11-13 01:58:35

标签: iphone iphone-sdk-3.0 in-app-purchase storekit

我正在调试恢复事务,在我的调试配置中,一切正常:

我打电话给IE:

  [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

以后的queueCalls:

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

之后的某个时候它会调用:

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

每个人都很开心。

在我的发布配置中,我从未看到对updatedTransactions的调用,因此我从未真正恢复购买。

可能相关,在我尝试恢复后它不起作用。我重新启动应用程序,当我向商店询问产品列表时,我发现没有得到回复。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:-1)

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

SKPayment * payment = [SKPayment paymentWithProductIdentifier:“您的产品标识符”]; [[SKPaymentQueue defaultQueue] addPayment:payment];

如果您使用这种方式,则在付款队列中添加付款对象后立即调用UpdatedTransactions。您不必明确地调用它。它是由商店套件管理的。