librlottie 0.2.1

librlottie 0.2.1

DreamPiggy 维护。



  • Subhransu Mohanty

librlottie + Xcode

CI Status Version License Platform Carthage compatible SwiftPM compatible

rlottie + Xcode 项目的包装器。这 enables Carthage && SwiftPM 支持。

此仓库还包括 CocoaPods 的 spec 文件以使用 rlottie。

需求

  • iOS 9
  • macOS 10.10
  • tvOS 9.0
  • watchOS 2.0

注意

三星的 rlottie 现已发布第一个标签版本,请参阅:rlottie#159。本仓库主要匹配相同的版本标签。

但是,如果由于苹果平台(rlottie 不提供官方 iOS 支持)的集成问题存在严重错误,我们可能会发布补丁版本,该版本与上游版本不匹配,这里提供了上游提交哈希值

  • 0.1.0: a717479
  • 0.2.1: 3cd0015

如果您遇到缓存问题,请按照以下步骤更新您的包管理者

  • CocoaPods: pod cache clean librlottie && pod update
  • Carthage: rm -rf ~/Library/Caches/org.carthage.CarthageKit && carthage update --cache-builds
  • SwiftPM: Xcode Clean

适用于 iOS 和模拟器

rlottie 的源代码使用了 C++ 线程局部特性。然而,iOS 使用系统提供的 ABI 来支持 C++ 线程局部,但不是语言层面,只能在 iOS 9.0+ 上运行,不支持 32 位 i386 模拟器。

这就是为什么我们必须限制 iOS 上的最小部署目标版本。更多请参考此处:为什么苹果的 clang 不允许 C++11 的 thread_local,尽管官方的 clang 支持

安装

Carthage

librlottie 通过 Carthage 提供。

github "SDWebImage/librlottie-Xcode"

CocoaPods

librlottie 通过 CocoaPods 提供。

pod 'librlottie'

SwiftPM

librlottie 通过 Swift 包管理器 提供。

let package = Package(
    dependencies: [
        .package(url: "https://github.com/SDWebImage/librlottie-Xcode", from: "0.2.0")
    ],
    // ...
)

使用

如常使用 librlottie,此仓库仅添加了一个 Xcode proj。

对于 Swift 包管理器用户,建议使用模块导入而非 C 头文件。

  • Objective-C
@import librlottie;
// or if you don't use module
#import <rlottie/rlottie_capi.h>
  • Swift
import librlottie

适用于C++用户

rlottie 公共头文件和模块映射不包含 C++ 头文件 rlottie.h,因为 Swift/Objective-C 无法导入 C++ 接口(Objective-C++ 可以,但需要禁用 clang 模块)。

如果您需要 C++ 接口,请使用公共头文件搜索路径 include,并确保已禁用模块。

许可

librlottie 在 LGPL 许可证 下提供。