Я бы использовал NSTimer для решения проблемы, используя detachNewThreadSelector и NSURLConnection вместе.
У меня есть похожий сценарий, в котором загружаемый Progress UIViewController показывает, пока файл не завершится, вот что я делаю:
- Я рисую представление загрузки, например, содержит индикатор активности.
- Я инициализирую NSTimer, чтобы постоянно проверять, завершен ли файл.
- Я вызываю метод, который содержит Логику загрузки.
[1]
-(void) vManageFileRequest
{
[self.oFilesManager vGetSingleFileRequest];
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(vValidateFileRequest) userInfo:nil repeats:NO]];
}
[2]
[self performSelectorOnMainThread:@selector(vManageFileRequest) withObject:nil waitUntilDone:NO];