Zip alternatives and similar libraries
Based on the "Files" category.
Alternatively, view Zip alternatives based on common mentions on social networks and blogs.
-
ZipArchive
ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS. -
FileProvider
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 -
EonilFSEvents
An unofficial wrapper around FSEvent tailored for Swift 5.
InfluxDB - Power Real-Time Data Analytics at Scale
* 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 Zip or a related project?
Popular Comparisons
README
Zip
A Swift framework for zipping and unzipping files. Simple and quick to use. Built on top of minizip.
Usage
Import Zip at the top of the Swift file.
import Zip
Quick functions
The easiest way to use Zip is through quick functions. Both take local file paths as NSURLs, throw if an error is encountered and return an NSURL to the destination if successful.
do {
let filePath = Bundle.main.url(forResource: "file", withExtension: "zip")!
let unzipDirectory = try Zip.quickUnzipFile(filePath) // Unzip
let zipFilePath = try Zip.quickZipFiles([filePath], fileName: "archive") // Zip
}
catch {
print("Something went wrong")
}
Advanced Zip
For more advanced usage, Zip has functions that let you set custom destination paths, work with password protected zips and use a progress handling closure. These functions throw if there is an error but don't return.
do {
let filePath = Bundle.main.url(forResource: "file", withExtension: "zip")!
let documentsDirectory = FileManager.default.urls(for:.documentDirectory, in: .userDomainMask)[0]
try Zip.unzipFile(filePath, destination: documentsDirectory, overwrite: true, password: "password", progress: { (progress) -> () in
print(progress)
}) // Unzip
let zipFilePath = documentsFolder.appendingPathComponent("archive.zip")
try Zip.zipFiles([filePath], zipFilePath: zipFilePath, password: "password", progress: { (progress) -> () in
print(progress)
}) //Zip
}
catch {
print("Something went wrong")
}
Custom File Extensions
Zip supports '.zip' and '.cbz' files out of the box. To support additional zip-derivative file extensions:
Zip.addCustomFileExtension("file-extension-here")
[Preferred] Setting up with Swift Package Manager
To use Zip with Swift Package Manager, add it to your package's dependencies:
.package(url: "https://github.com/marmelroy/Zip.git", .upToNextMinor(from: "2.1"))
Setting up with CocoaPods
source 'https://github.com/CocoaPods/Specs.git'
pod 'Zip', '~> 2.1'
Setting up with Carthage
To integrate Zip into your Xcode project using Carthage, specify it in your Cartfile
:
github "marmelroy/Zip" ~> 2.1