10

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

IE 我叫:

  [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

稍后的 queueCalls:

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

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

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

每个人都很高兴。

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

可能相关,在我尝试还原后它不起作用。我重新启动应用程序,发现当我向商店索取产品列表时没有得到响应。

4

3 回答 3

1

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

于 2010-11-30T23:57:46.020 回答
1

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

于 2009-11-21T02:12:18.280 回答
-1

你是用这种方式把你的支付对象添加到支付队列中的吗?

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

如果您使用这种方式,则在支付队列中添加支付对象后立即调用 UpdatedTransactions。您不必显式调用它。它由 store kit 处理。

于 2010-11-19T09:01:41.640 回答