У меня была ТОЧНАЯ та же проблема, но оказалось, что проблема была в чем-то другом: мой URL получал преждевременный выпуск В конце концов это то, что я сделал, и это сработало:
Я сделал этот звонок:
[self performSelectorInBackground:@selector(downloadData:) withObject:nil];
И это метод:
// URL - (NSString) URL for file
// filePath - (NSString) save location on device
-(void)download:(NSString *)URL
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:URL]];
[data writeToFile:filePath atomically:YES];
[pool release];
}
Так что я думаю, что ваш код загрузки корректен, но есть другая переменная, которая освобождается рано (возможно, ваш путь).
Надеюсь, это поможет! Я знаю, что другие ответы на этой странице работали для меня.