Go to file
Christopher Denter a5de5b6bef Issue #85: Keep relative symbolic links relative.
Before, the library resolved symbolic links that are relative
into absolute paths, using the current working directory of the process
that's doing the unzipping, which to me seems pretty wrong.
This was due to using -[NSURL fileURLWithPath:], which transforms
relative URLs to absolute URLs automatically.

I don't see much of a reason to use NSFileManager here, so I made that
use symlink() directly. Alternatively, one could also use -[NSURL
URLWithString:].

This keeps relative symlinks relative after unzipping.
2013-11-08 19:04:42 +01:00
Example Restructure project and move to XCTest 2013-09-07 08:33:47 -07:00
SSZipArchive Issue #85: Keep relative symbolic links relative. 2013-11-08 19:04:42 +01:00
SSZipArchive.xcodeproj Simplify project structure 2013-09-10 00:03:11 -07:00
Tests Restructure project and move to XCTest 2013-09-07 08:33:47 -07:00
.gitignore Version 0.2.3 2013-01-29 01:54:19 -05:00
LICENSE Restructure project and move to XCTest 2013-09-07 08:33:47 -07:00
Readme.markdown Move minizip up 2013-09-09 09:00:52 -07:00
SSZipArchive.podspec Fix 2013-09-11 08:56:12 -07:00

SSZipArchive

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

Adding to your project

  1. Add the SSZipArchive and minizip folders to your project.
  2. Add the libz library to your target

SSZipArchive requires ARC.

Usage

// 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];

Tests

Simply, open the Xcode 5 or higher project in the Tests directory and press Command-U to run the tests.

License

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

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.