Swiftpack.co -  ZipArchive/ZipArchive as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
ZipArchive/ZipArchive
ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS.
.package(url: "https://github.com/ZipArchive/ZipArchive.git", from: "v2.4.2")

CI

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.

SPM

Add a Swift Package reference to https://github.com/ZipArchive/ZipArchive.git (SSZipArchive 2.3.0 and higher or master)

Carthage

In your Cartfile:
github "ZipArchive/ZipArchive"

Note: We are no longer releasing a Carthage pre-built package as of 2.2.3. Developers are encouraged to build one themselves.

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 GCC_PREPROCESSOR_DEFINITIONS: HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB $(inherited).

SSZipArchive requires ARC.

Usage

Objective-C


//Import "#import <ZipArchive.h>" for SPM/Carthage, and "#import <SSZipArchive.h>" for CocoaPods.

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

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

Swift

//Import "import ZipArchive" for SPM/Carthage, and "import SSZipArchive" for CocoaPods.

// 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-ng (formally minizip) 3.0.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-ng (formally minizip), the core of ZipArchive.
  • Thank you to all the contributors.

GitHub

link
Stars: 4839
Last commit: 8 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

Version 2.4.2
8 weeks ago

Fixes: More header/import work to help ensure previous integrations continue to work after SPM support was added. (#617) (Thank you @CLJian)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API