Version License Platform Swift Package Manager compatible
- iOS 9.0+, macOS 10.11+, watchOS 2.0+, tvOS 9.0+
- Swift 5.x
You can add SwiftCompressor to an Xcode project by adding it as a package dependency.
- From the File menu, select Add Packages...
- Enter
https://github.com/sochalewski/SwiftCompressorinto the package repository URL text field. - Add the package to your app target.
To integrate SwiftCompressor into your Xcode project using CocoaPods, specify it in your Podfile:
pod 'SwiftCompressor'
Then, run the following command:
$ pod install
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)
Piotr Sochalewski, sochalewski.github.io
SwiftCompressor is available under the MIT license. See the LICENSE file for more info.