如何在iOS下载大文件?

我试图通过HTTP请求从Web服务器下载文件[> 40MB]。 为此,我使用了苹果公司提供的SimpleURLConnection样例。 在这个示例中,他们只下载图像文件,所以我修改了下载pdf文件的代码并将其存储在应用程序的文档目录中。 这工作正常,下载小文件,但它只下载6.4MB的数据,如果我试图下载大文件[> 40Mb]。 请帮我解决这个问题,

谢谢,

供参考:

用下载的数据写入文件的代码

- (void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)data // A delegate method called by the NSURLConnection as data arrives. We just // write the data to the file. { #pragma unused(theConnection) NSInteger dataLength; const uint8_t * dataBytes; NSInteger bytesWritten; NSInteger bytesWrittenSoFar; assert(theConnection == self.connection); dataLength = [data length]; dataBytes = [data bytes]; bytesWrittenSoFar = 0; do { bytesWritten = [self.fileStream write:&dataBytes[bytesWrittenSoFar] maxLength:dataLength - bytesWrittenSoFar]; assert(bytesWritten != 0); if (bytesWritten == -1) { [self _stopReceiveWithStatus:@"File write error"]; break; } else { bytesWrittenSoFar += bytesWritten; } } while (bytesWrittenSoFar != dataLength); } 

不要重新发明轮子! ASIHTTP你有覆盖, 看到那里 。 有一个特定的选项直接下载到文件。

截止到2011年9月, ASIHTTP已经不再活跃。我发现RestKit在许多情况下是一个很好的select,但是它缺lessASI的许多function,例如下载暂停和恢复。