Utility class for zipping and unzipping files on iOS and Mac
Switch branches/tags
Clone or download
Pull request Compare This branch is 495 commits behind ZipArchive:master.
soffes Merge pull request #28 from nivektric/master
Change clean_path to preserve_paths in podspec to pass validation
Latest commit 3f5a7b3 Jul 10, 2012



SSZipArchive is a simple utility class for zipping and unzipping files. Features:

  • Unzipping zip files
  • Unzipping password protected zip files
  • Creating zip files
  • Appending to zip files
  • Zipping files
  • Zipping NSData with a filename
  • Works in ARC and non-ARC projects

Adding to your project

  1. Add SSZipArchive.h, SSZipArchive.m, and minizip to your project.
  2. Add the libz library to your target

You don't need to do anything regarding ARC. SSZipArchive will detect if you're not using ARC and add the required memory management code.


// Unzipping
NSString *zipPath = @"path_to_your_zip_file";
NSString *destinationPath = @"path_to_the_folder_where_you_want_it_unzipped";
[SSZipArchive unzipFileAtPath:zipPath toDestination:destinationPath];

// Zipping
NSString *zippedPath = @"path_where_you_want_the_file_created";
NSArray *inputPaths = [NSArray arrayWithObjects:
                       [[NSBundle mainBundle] pathForResource:@"photo1" ofType:@"jpg"],
                       [[NSBundle mainBundle] pathForResource:@"photo2" ofType:@"jpg"]
[SSZipArchive createZipFileAtPath:zippedPath withFilesAtPaths:inputPaths];


SSZipArchive is licensed under the MIT license. A slightly modified version of Minizip 1.1 is also included and is licensed under the Zlib license.


Thanks aish for creating ZipArchive which SSZipArchive is based on, Johnnie Walker (@randomsequence) for implementing creation support, and John Engelhart (@johnezang) for all his amazing help along the way.