Here is quick easy solution to unzip a gzip file into memory using zlib.
Code:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *sourcePath = [NSString stringWithFormat:@"%@/myFile.txt.gz", [Utility getDocumentsPath]];
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager createFileAtPath:sourcePath contents:data attributes:nil];
gzFile file = gzopen([sourcePath UTF8String], "rb");
unsigned char buffer[CHUNK];
int uncompressedLength = gzread(file, buffer, CHUNK);
NSData *uncompressedData = [NSData dataWithBytes:buffer length:uncompressedLength];
NSString *txtFile = [[NSString alloc] initWithData:uncompressedData encoding:NSASCIIStringEncoding];
gzclose(file);
[fileManager removeItemAtPath:sourcePath error:nil];
}