在我的AppDelegate中,我运行此命令:
SKPaymentQueue.defaultQueue().addTransactionObserver(self.storeDel);
当我跑步"购买恢复"并立即杀死应用程序,重新启动后,用户界面在处理所有购买所需的时间内陷入困境(我测试了很多,每次我用苹果验证收据 - 大约需要一分钟卡住UI !!)
我认为可能是事务队列启动阻塞..所以我将代码更改为:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {
SKPaymentQueue.defaultQueue().addTransactionObserver(self.storeDel);
});
它并没有帮助......
到现在为止 - 我开始怀疑队列在我的主线上运行......这对我来说没有意义......
我调试了 - 并且......付款处理正在"队列:com.apple.main-thread(serial)"上运行。我假设这也是用户GUI线程(否则GUI没有理由被卡住......)。
... SO
我该怎么办? 有没有解决方案我可以处理收据并做出回应......?
谢谢!
答案 0 :(得分:1)
我联系了Apple,尝试打开有关此问题的错误报告。
他们说,一般来说,这是预期的行为(是的!我的图表在处理付款时会受到阻碍)。
如果这也是您的错误,http://bugreport.apple.com是打开有关此问题的服务请求的网站。
我认为这是一个有缺陷的设计,这是一个错误,Apple认为这是可以接受的。