在我AppDelegate中运行,运行此命令:强制SKPaymentQueue到在后台线程
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线程(否则没有理由让卡住......)。
SO ...
我该怎么办? 有什么解决方案可以处理收据并做出回应...?
谢谢!