ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS.
Clone or download
Latest commit d5d6411 Sep 9, 2018

README.md

Build Status

SSZipArchive

ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS.

  • Unzip zip files;
  • Unzip password protected zip files;
  • Unzip AES encrypted zip files;
  • Create zip files;
  • Create password protected zip files;
  • Create AES encrypted zip files;
  • Choose compression level;
  • Append to existing zip files;
  • Zip-up NSData instances. (with a filename)

Installation and Setup

The main release branch is configured to support Objective C and Swift 3+.

SSZipArchive works on Xcode 7-9 and above, iOS 8-11 and above.

CocoaPods

In your Podfile:
pod 'SSZipArchive'

Carthage

In your Cartfile:
github "ZipArchive/ZipArchive"

Manual

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

SSZipArchive requires ARC.

Usage

Objective-C

// Create
[SSZipArchive createZipFileAtPath:zipPath withContentsOfDirectory:sampleDataPath];

// Unzip
[SSZipArchive unzipFileAtPath:zipPath toDestination:unzipPath];

Swift

// Create
SSZipArchive.createZipFileAtPath(zipPath, withContentsOfDirectory: sampleDataPath)

// Unzip
SSZipArchive.unzipFileAtPath(zipPath, toDestination: unzipPath)

License

SSZipArchive is protected under the MIT license and our slightly modified version of Minizip 1.2 is licensed under the Zlib license.

Acknowledgments

  • Big thanks to aish for creating ZipArchive. The project that inspired SSZipArchive.
  • Thank you @soffes for the actual name of SSZipArchive.
  • Thank you @randomsequence for implementing the creation support tech.
  • Thank you @johnezang for all his amazing help along the way.