SSZipArchive is a simple utility class for zipping and unzipping files.
You can do the following:
- Unzip zip files;
- Unzip password protected zip files;
- Create new zip files;
- Append to existing zip files;
- Zip files;
- Zip-up NSData instances. (with a filename)
- Add the
SSZipArchive
andminizip
folders to your project. - Add the
libz
library to your target
SSZipArchive requires ARC.
// 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"]
nil];
[SSZipArchive createZipFileAtPath:zippedPath withFilesAtPaths:inputPaths];
// Zipping directory
[SSZipArchive createZipFileAtPath:zippedPath withContentsOfDirectory:inputPath];
SSZipArchive is protected under the MIT license and our slightly modified version of Minizip 1.1 is licensed under the Zlib license.
Big thanks to aish for creating ZipArchive. The project that inspired SSZipArchive. Thank you @randomsequence for implementing the creation support tech and to @johnezang for all his amazing help along the way.