我有一个持久队列,它在后台线程上执行任务。这对于用户离线等情况非常有用,并且任务需要持续到完成。任务排队,然后执行,直到成功完成。此队列在后台线程上运行。效果很好。
我的问题是,当我尝试从后台线程调用 Windows Azure iOS 工具包时,它永远不会返回。无论是使用委托模式还是块模式实现。例如:
[storageClient fetchBlobContainerNamed:@"myContainer" withCompletionHandler:^(WABlobContainer *container, NSError *error) {
....
}];
永远不会调用完成处理程序。我已经确认 Azure 工具包不喜欢在后台线程上被调用。当它被分流到主线程时,相同的代码执行得很好。然而,这打破了我的整个持久任务队列。
关于如何让 Azure 工具包 SDK 从后台线程运行的任何想法?