ZipArchive

by ZipArchive

ZipArchive / ZipArchive

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

4.6K Stars 1.1K Forks Last release: 6 months ago (v2.2.3) MIT License 641 Commits 45 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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 large (> 4.3Gb) files;
  • Create password protected zip files;
  • Create AES encrypted zip files;
  • Choose compression level;
  • 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-11 and above, iOS 9-13 and above, tvOS 9 and above, macOS 10.9-10.15 and above, watchOS 2 and above.

CocoaPods

In your Podfile:

pod 'SSZipArchive'

You should define your minimum deployment target explicitly, like:

platform :ios, '9.0'

Recommended CocoaPods version should be at least CocoaPods 1.7.5.

Carthage

In your Cartfile:

github "ZipArchive/ZipArchive"

Manual

  1. Add the
    SSZipArchive
    and
    minizip
    folders to your project.
  2. Add the
    libz
    and
    libiconv
    libraries to your target.
  3. Add the
    Security
    framework to your target.
  4. Add the following GCCPREPROCESSORDEFINITIONS:
    HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB $(inherited)
    .

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.
  • Thank you @nmoinvaz for minizip, the core of ZipArchive.
  • Thank you to all the contributors.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.