ZipArchive alternatives and similar libraries
Based on the "Files" category.
Alternatively, view ZipArchive alternatives based on common mentions on social networks and blogs.
-
FileProvider
DISCONTINUED. FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive) files -- Swift [GET https://api.github.com/repos/amosavian/FileProvider: 403 - Repository access blocked] -
KZFileWatchers
A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. -
FileExplorer
FileExplorer is a powerful iOS file browser that allows its users to choose and remove files and/or directories
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of ZipArchive or a related project?
README
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)
Version 2.5.0+ Updates Minimum OS Versions
A key dependency of this project is the zlib library. zlib before version 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches according to CVE-2018-25032.
zlib 1.2.12 is included in macOS 10.15+ (with latest security patches), iOS 15.5+, tvOS 15.4+, watchOS 8.4+. As such, these OS versions will be the new minimums as of version 2.5.0 of ZipArchive.
If you need support for previous versions of ZipArchive for earlier OS support you can target an earlier version but know you will be using an unmaintained version of this library.
We will not support versions of ZipArchive that use dependencies with known vulnerabilities.
Installation and Setup
The main release branch is configured to support Objective-C and Swift 4+.
SSZipArchive works on Xcode 12 and above, iOS 15.5 and above, tvOS 15.4 and above, macOS 10.15 and above, watchOS 8.4 and above.
CocoaPods
In your Podfile:
pod 'SSZipArchive'
You should define your minimum deployment target explicitly, like:
platform :ios, '15.5'
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.4.2 and higher or master)
Carthage
In your Cartfile:
github "ZipArchive/ZipArchive"
We do not release a Carthage pre-built package. Developers are encouraged to build one themselves.
Manual
- Add the
SSZipArchive
andminizip
folders to your project. - Add the
libz
andlibiconv
libraries to your target. - Add the
Security
framework to your target. - Add the following GCC_PREPROCESSOR_DEFINITIONS:
HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB ZLIB_COMPAT $(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.6 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.
*Note that all licence references and agreements mentioned in the ZipArchive README section above
are relevant to that project's source code only.