iOSImageCompressor is a small Swift image compression library inspired by WeChat's image resizing strategy.
It supports:
- Swift Package Manager
- CocoaPods
- A backwards-compatible
UIImage.wxCompress(...)API
- Resizes large images using the classic WeChat-style boundary rules
- Compresses to JPEG output with configurable quality
- Ships as a standalone Swift package ready for a public Git repository
- iOS 13.0+
- tvOS 13.0+
- macOS 10.15+
- Mac Catalyst 13.0+
- Swift 5.9+
In Xcode, add your repository URL as a package dependency:
dependencies: [
.package(url: "https://github.com/shaizansiddiqui/iOSImageCompressor.git", from: "1.0.0")
]Then add the product to your target:
.product(name: "iOSImageCompressor", package: "iOSImageCompressor")pod 'iOSImageCompressor', '~> 1.0'import UIKit
import iOSImageCompressor
let image = UIImage(named: "sample")!
let compressed = image.wxCompress(type: .timeline)
let sessionData = image.wxCompressedData(type: .session, compressionQuality: 0.6)You can also use the utility type directly:
let compressedImage = iOSImageCompressor.compress(
image,
type: .timeline,
compressionQuality: 0.5
)Before pushing publicly, tag a release:
git tag 1.0.0
git push origin main --tagsAfter that, validate the podspec:
pod lib lint iOSImageCompressor.podspecMIT