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)
What are modified
ZipArchive here can run on most of Unix-like systems besides macOS/iOS. If you're using Linux such as Ubuntu. You should install zlib and BSD library. Using the following commands will simply fulfill it.
sudo apt-get install zlib1g-dev
sudo apt-get install libbsd-dev
Note that don't forget to link the BSD library with -lbsd and link the zlib with -lz.
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
- Add the
SSZipArchive
andminizip
folders to your project. - 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.