All Projects → DroidsOnRoids → SwiftCompressor

DroidsOnRoids / SwiftCompressor

Licence: MIT license
SwiftCompressor lets you use Compression framework easily

Programming Languages

shell
77523 projects
swift
15916 projects
ruby
36898 projects - #4 most used programming language
objective c
16641 projects - #2 most used programming language

SwiftCompressor

CI Status codecov Version License Platform

Requirements

iOS 9.0+, macOS 10.11+, watchOS 2.0+, tvOS 9.0+

Swift 3

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

SwiftCompressor is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SwiftCompressor"

Usage

SwiftCompression is a Data extension. It lets you easily compress/decompress Data objects this way:

// Create NSData from file
let path = URL(fileURLWithPath: Bundle.main.path(forResource: "lorem", ofType: "txt")!)
let loremData = try? Data(contentsOf: path)

// Compress and then decompress it!
let compressedData = try? loremData?.compress()
let decompressedData = try? compressedData??.decompress()

// You can also choose one of four algorithms and set a buffer size if you want.
// Available algorithms are LZFSE, LZMA, ZLIB and LZ4.
// Compression without parameters uses LZFSE algorithm. Default buffer size is 4096 bytes.
let compressWithLZ4 = try? loremData?.compress(algorithm: .lz4)
let compressWithLZMAReallyBigBuffer = try? loremData?.compress(algorithm: .lzma, bufferSize: 65_536)

Author

Piotr Sochalewski, [email protected]

License

SwiftCompressor is available under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].