gpt4 book ai didi

ios - 相同的应用程序、相同的测试用户、具有不同 SKPaymentQueue 内容的两个不同设备。什么会导致这个?

转载 作者:可可西里 更新时间:2023-11-01 04:44:48 26 4
gpt4 key购买 nike

我有两部 iPhone 用于测试我的应用。

在设备 A 上:

NSLog(@"Unfinished Transactions: [%i]", [[SKPaymentQueue defaultQueue].transactions count]);

输出:“未完成的交易:[0]”

当我做的时候:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]

函数

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

调用时使用事务数组中的 17 个项目,每个项目都标记为已恢复。因此,我遍历集合并在每个集合上调用 [[SKPaymentQueue defaultQueue] finishTransaction: transaction]

处理完每个项目后,(void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue 被调用,[[queue transactions] count] 等于 4,而不是 17 ,这是一个惊喜。

如果我在此设备上重新运行 [[SKPaymentQueue defaultQueue] restoreCompletedTransactions],我会反复得到相同的结果 - 尽管我已告知每笔交易我希望将其从队列中删除,但 updatedTransactions 会被调用需要处理 17 个项目。

在设备 B 上,

$NSLog(@"Unfinished Transactions: [%i]", [[SKPaymentQueue defaultQueue].transactions count]);

仍然输出“未完成的交易:[0]”

当我运行时

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]

, 函数

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

永远不会被调用。最终

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue

被称为

[[queue transactions] count]

等于 0。

这可能是什么原因造成的?这几乎就像支付队列链接到设备 ID,而不是测试帐户 Apple ID。另外,请原谅这个问题的糟糕格式,我还在习惯 StackOverflow。 :)

最佳答案

这是一个沙箱环​​境错误。我遇到了与

完全相同的问题

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

从未被调用过。只有 paymentQueueRestoreCompletedTransactionsFinished 在调用 restoreCompletedTransactions 之后到达。

我已与 Apple 工程师核实过。他确认我的代码确实正确,我应该收到 updatedTransactions 调用。他说,在沙盒环境中没有发生这种情况显然是一个错误(他对此一点也不感到惊讶)。

老实说,您对此无能为力。在他确认我的代码正确后,我冒了风险发布了应用程序。在真正的 iTunes Connect 服务器上,一切都按预期工作。

因此,您最好的(也许是唯一的)赌注是确保您已按预期进行所有设置,然后继续在实时服务器上进行测试。祝你好运!它对我有用。

关于ios - 相同的应用程序、相同的测试用户、具有不同 SKPaymentQueue 内容的两个不同设备。什么会导致这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com