我按照this教程在iOS应用中添加应用内购买(IAP)。好的教程,购买部分有效。
但是,如果我从包含IAP代码的UIViewController
返回太快,应用程序有时会崩溃(没有任何正确的日志)。
SKProductsRequest包含在dispatch_async中,但似乎没有帮助。
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0)) { [unowned self] in
...
productRequest.delegate = self
productRequest.start()
}
然后在主线程上调用UI更新。
func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {
if response.products.count != 0 {
print("This doesn't get printed when CRASH happens.")
}
...
dispatch_async(dispatch_get_main_queue()) { [unowned self] in
self.tableView.reloadData()
}
有关修复此问题的任何提示吗?