A wrapper for libwebp + Xcode project. This enables Carthage support This also contains the Swift Package Manager support
- iOS 8
- macOS 10.10
- tvOS 9.0
- watchOS 2.0
libwebp is available through CocoaPods. To install it, simply add the following line to your Podfile:
libwebp is (via this repo) available through Carthage.
Libwebp is available through Swift Package Manager.
let package = Package( dependencies: [ .package(url: "https://github.com/SDWebImage/libwebp-Xcode", from: "1.1.0") ], // ... )
Use libwebp as you would normally, this is just a repo that adds an Xcode proj.
For Swift Package Manager user, it's recommended to use the modular import instead of C headers.
@import libwebp; // or if you don't use module #import <webp/decode.h> #import <webp/encode.h>
From libwebp v1.2.3, Google separate some functions into a new standalone lib called
sharpyuv. However, it dependeny source code from libwebp repo's
src as implementation. Like llvm-project monorepo, one repo host multiple targets.
Before v1.3.0, we hide these headers as internal headers.
From v1.3.0, we expose the sharpyuv public headers, but not a standalone CocoaPods/SPM/Carthage Target. (In the future we may consider separate targets)
If you want to use sharpyuv functions, do something like this:
// This does not supports module include #if __has_include(<sharpyuv/sharpyuv.h>) #import <sharpyuv/sharpyuv.h> #else #import <libwebp/sharpyuv.h> // bundled in libwebp's modulemap #endif
#if canImport(sharpyuv) import sharpyuv #else import libwebp // bundled in libwebp's modulemap #endif
libwebp is available under the BSD-3 license. See the LICENSE file for more info.