libwebp 的一个封装,包含 Xcode 项目。它支持 Carthage,并且也包含了 Swift Package Manager 的支持。
libwebp 可以通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中
pod 'libwebp'
libwebp 可以(通过此仓库)通过 Carthage 获得。
github "SDWebImage/libwebp-Xcode"
Libwebp 可以通过 Swift Package Manager 获得。
let package = Package(
dependencies: [
.package(url: "https://github.com/SDWebImage/libwebp-Xcode", from: "1.1.0")
],
// ...
)
像往常一样使用 libwebp,这只是一个添加了 Xcode 项目的仓库。
对于 Swift Package Manager 用户,建议使用模块化导入而不是 C 头文件。
@import libwebp;
// or if you don't use module
#import <webp/decode.h>
#import <webp/encode.h>
import libwebp
从 libwebp v1.2.3 开始,Google 将一些函数分离到一个新的独立库,名为 sharpyuv
。但是,它的依赖项源代码来自 libwebp 仓库的 src
作为实现。就像 llvm-project monorepo 一样,一个仓库托管多个目标。
在 v1.3.0 之前,我们将这些头文件隐藏为内部头文件。
从 v1.3.0 开始,我们公开了 sharpyuv 的公共头文件,但不是一个独立的 CocoaPods/SPM/Carthage 目标。(将来我们可能会考虑分离目标)
如果您想使用 sharpyuv 函数,请执行类似以下操作
// 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 在 BSD-3 许可下可用。 有关更多信息,请参见LICENSE 文件。