How to zip file using "ZipArchive library" in iphone ?
I want to implement ZipArchive in my project.
Using开发者_StackOverflow this library I want to archive files like images into zip file.
How can I do that ?
try my code Zipcode :
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* dPath = [paths objectAtIndex:0];
    NSString* txtfile = [dPath stringByAppendingPathComponent:@"test.txt"];
    NSString* zipfile = [dPath stringByAppendingPathComponent:@"test.zip"];
    ZipArchive* zip = [[ZipArchive alloc] init];
    BOOL ret = [zip CreateZipFile2:zipfile];
    ret = [zip addFileToZip:txtfile newname:@"test.txt"];//zip
    if( ![zip CloseZipFile2] )
    {
        zipfile = @"";
    }
    [zip release];
    NSLog(@"The file has been zipped");
Unzipcode:
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* dPath = [paths objectAtIndex:0];
    NSString* zipfile = [dPath stringByAppendingPathComponent:@"test.zip"] ;
    NSString* unzipto = [dPath stringByAppendingPathComponent:@"test"] ;
    ZipArchive* zip = [[ZipArchive alloc] init];
    if([zip UnzipOpenFile:zipfile] )
    {
        BOOL ret = [zip UnzipFileTo:unzipto overWrite:YES];
        if(NO == ret)
        {
        }
        [zip UnzipCloseFile];
    }
    [zip release];
    NSLog(@"The file has been unzipped");
This code will work perfectly to zip a file.
ZipArchive *zip = [[ZipArchive alloc] init];
if(![zip UnzipOpenFile:fileToZipPath]) {
//open file is there
            if ([zip CreateZipFile2:newZipFilePath overWrite:YES]) {
                //zipped successfully
                NSLog(@"Archive zip Success");
            } 
        } else  {
            NSLog(@"Failure To Zip Archive");
        }
      }
To unzip,
if([zip UnzipOpenFile:zipFilePath]) {
            //zip file is there
            if ([zip UnzipFileTo:newFilePath overWrite:YES]) {
                //unzipped successfully
                NSLog(@"Archive unzip Success");
                zipOpened = YES;
            } 
        } else  {
            NSLog(@"Failure To Open Archive");
        }
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论