GTLServiceYouTube未调用executeQuery回调

当我在后台线程中执行它时,没有调用GTLServiceYouTube executeQuery回调。video不会被上传。 当我在主线程中执行它时它工作正常。我得到回调和video也上传。 我可以通过强制executeQuery在主线程中运行来解决这个问题,但这会影响UI性能。 我该如何解决这个问题?

我的代码是这样的,

 self.uploadFileTicket = [service executeQuery:query completionHandler:^(GTLServiceTicket *ticket, GTLYouTubeVideo *uploadedVideo, NSError *error) { // code to handle } 

我找到了解决方案! 这里发生的事情是,当我在后台线程中运行代码时,在回调到来之前线程被分离。 因此我们没有得到回调。 当我在主线程中运行它时,主线程始终保持活动状态。 因此我们得到了回调。 因此,可以通过使用以下代码使当前线程等待来解决此问题。

 [[NSRunLoop currentRunLoop] runUntilDate:stopDate];