gpt4 book ai didi

swift - 强制 SKPaymentQueue 在后台线程上运行

转载 作者:可可西里 更新时间:2023-11-01 02:15:32 25 4
gpt4 key购买 nike

在我的 AppDelegate 中,我运行这个命令:

SKPaymentQueue.defaultQueue().addTransactionObserver(self.storeDel);

当我运行“购买恢复”并立即终止应用程序时,在重新启动它后,用户界面在处理所有购买所需的时间段内卡住(我测试了其中的许多,每次我验证苹果收据 - 用户界面卡住大约需要一分钟!!)

我认为可能是事务队列启动阻塞了..所以我将代码更改为:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {
SKPaymentQueue.defaultQueue().addTransactionObserver(self.storeDel);
});

而且它没有帮助......

现在 - 我开始怀疑队列在我的主线程上运行......这对我来说没有意义......

我调试了 - 并且......支付处理正在“队列:com.apple.main-thread(串行)”上运行。我假设这也是用户 GUI 线程(否则 GUI 没有理由卡住......)。

所以...

我能做什么??有什么解决方案可以让我处理收据并做出响应...?

谢谢!

最佳答案

我联系了 Apple,试图打开一个关于这个问题的错误报告。

他们说,一般来说,这是预期的行为(是的!我的 GUI 应该在处理付款时被卡住)。

如果这也困扰您,http://bugreport.apple.com是打开有关此问题的服务请求的网站。

我认为这是一个有缺陷的设计,它是一个错误,Apple 认为这是可以接受的。

关于swift - 强制 SKPaymentQueue 在后台线程上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38944749/

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