Lottie for iOS
在 airbnb.io/lottie 上查看文档、FAQ、帮助、示例更多内容
Lottie 是一个跨平台库,适用于 iOS、macOS、tvOS、Android 和 Web,它可以在实时代码最少的情况下原生动缓冲矢量动画和艺术。
Lottie 加载和渲染以 bodymovin JSON 格式导出的动画和矢量图形。Bodymovin JSON 可以通过 bodymovin(在 After Effects 中使用)Lottie Sketch Export(在 Sketch 中使用)以及从 Haiku 中创建和导出。
设计师可以创建并发布美观的动画,无需工程师手动重建它们。由于该动画由 JSON 支持,因此它们的大小极小,但复杂度很高!动画可以播放、调整大小、循环、加快、放慢、反转,甚至交互式地刮擦。Lottie 还可以播放或循环动画的任何部分,可能性无限!动画甚至可以在运行时以各种方式更改!可以更改颜色、位置或任何可预定义帧的值!
以下只是 Lottie 强大功能的一小部分。
安装 Lottie
Lottie 支持使用 Swift 包管理器、CocoaPods 和 Carthage(动态库和静态库)。
GitHub 仓库
您可以拉取 Lottie GitHub 仓库 并将 Lottie.xcodeproj
包含在内以构建动态库或静态库。
Swift 包管理器
要使用 Swift 包管理器 安装 Lottie,您可以按照 Apple 发布的 教程 操作,使用 Lottie 仓库的当前版本 URL。
- 在 Xcode 中,选择 "文件" → "添加包..."
- 输入 https://github.com/airbnb/lottie-spm.git
或者您可以在您的 Package.swift
中添加以下依赖关系
.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.2.0")
在使用 Swift 包管理器时,我们建议使用 lottie-spm 仓库而不是主要的 lottie-ios 仓库。主要的 lottie-ios git 仓库很大(300+ MB),并且在 Swift 包管理器中总是下载包含全部 git 历史。而 lottie-spm 仓库要小得多(小于 500kb),因此可以更快地下载。
lottie-spm 仓库只包含指向 最新的 lottie-ios 发布版(通常约为 8MB)中包含的预编译 XCFramework 的指针。如果您更喜欢将 Lottie 源代码直接包含在项目中,您可以通过引用 https://github.com/airbnb/lottie-ios.git
直接依赖主要的 lottie-ios 仓库。
CocoaPods
将这个库添加到您的Podfile中
pod 'lottie-ios'
然后运行
pod install
在您的项目中安装完 CocoaPods 之后,可以使用以下方式导入 Lottie:
import Lottie
Carthage
将 Lottie 添加到您的 Cartfile 中
github "airbnb/lottie-ios" "master"
然后运行
carthage update
在应用程序目标下“通用”选项卡中的“链接框架和库”部分,从 Carthage/Build/iOS 目录拖动 lottie-ios.framework 到由 carthage update
生成的。
数据收集
Lottie SDK 不会收集任何数据。我们提供此通知以帮助您填写App隐私详情。
贡献
我们始终欢迎社区的贡献。要更改项目,您可以克隆存储库并打开 Lottie.xcworkspace
。此工作区包括
- Lottie 框架(适用于 iOS、macOS 和 tvOS)
- 单元测试和快照测试(适用于 iOS,必须在 iPhone 8 模拟器上运行)
- 一个示例 iOS 应用程序,您可以浏览和测试存储库中包含的超过 100 个示例动画
所有包括新功能或影响动画渲染的漏洞修复的拉取请求都应包括快照测试用例,以验证包含的更改。
- 要将新的样例动画添加到快照测试套件中,您可以将
.json
文件添加到Tests/Samples
。重新运行快照测试以生成新的快照图像文件。 - 在做出修改后更新现有的快照,您可以在
SnapshotTests.swift
中的setUp()
方法中设置isRecording = true
,然后重新运行快照测试。
该项目还包括了我们定义在Rakefile中的几个有用的命令。要使用这些命令,您需要安装Bundler。
$ sudo gem install bundle
$ bundle install
例如,所有Swift代码都应按照Airbnb Swift 风格指南格式化。在做出修改后,可以通过运行bundle exec rake format:swift
来自动重格式化代码,使用SwiftFormat和SwiftLint。其他有用的命令包括
$ bundle exec rake build:all # builds all targets for all platforms
$ bundle exec rake build:package:iOS # builds the Lottie package for iOS
$ bundle exec rake test:package # tests the Lottie package
$ bundle exec rake format:swift # reformat Swift code based on the Airbnb Swift Style Guide