View documentation, FAQ, help, examples, and more at airbnb.io/lottie
Lottie loads and renders animations and vectors exported in the bodymovin JSON format. Bodymovin JSON can be created and exported from After Effects with bodymovin, Sketch with Lottie Sketch Export, and from Haiku.
Designers can create and ship beautiful animations without an engineer painstakingly recreating it by hand. Since the animation is backed by JSON they are extremely small in size but can be large in complexity! Animations can be played, resized, looped, sped up, slowed down, reversed, and even interactively scrubbed. Lottie can play or loop just a portion of the animation as well, the possibilities are endless! Animations can even be changed at runtime in various ways! Change the color, position, or any keyframable value!
Here is just a small sampling of the power of Lottie
You can pull the Lottie Github Repo and include the
Lottie.xcodeproj to build a dynamic or static library.
Add the pod to your Podfile:
And then run:
After installing the cocoapod into your project import Lottie with
Add Lottie to your Cartfile:
github "airbnb/lottie-ios" "master"
And then run:
In your application targets “General” tab under the “Linked Frameworks and Libraries” section, drag and drop lottie-ios.framework from the Carthage/Build/iOS directory that
carthage update produced.
The Lottie SDK does not collect any data. We provide this notice to help you fill out App Privacy Details.
We always appreciate contributions from the community. To make changes to the project, you can clone the repo and open
Lottie.xcworkspace. This workspace includes:
All pull requests with new features or bug fixes that affect how animations render should include snapshot test cases that validate the included changes.
Tests/Samples. Re-run the snapshot tests to generate the new snapshot image files.
isRecording = truein
SnapshotTests.swiftand then re-run the snapshot tests.
$ sudo gem install bundle $ bundle install
For example, all Swift code should be formatted according to the Airbnb Swift Style Guide. After making changes, you can reformat the code automatically using SwiftFormat and SwiftLint by running
bundle exec rake format:swift. Other helpful commands include:
$ 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
|Last commit: Yesterday|
Note: Lottie 3.4.0 added a new rendering engine powered by Core Animation. Please try it out and let us know if you encounter any issues! It will be enabled by default in a future version of Lottie. More information is available in this announcement: https://github.com/airbnb/lottie-ios/discussions/1627
GradientFillshape items (https://github.com/airbnb/lottie-ios/pull/1702)
isAnimationPlayingwould be incorrect when using
InvertedMatteLayers wouldn't animate when using Main Thread rendering engine (https://github.com/airbnb/lottie-ios/pull/1684)
RenderingEngineOption.automaticnow falls back to the Main Thread rendering engine when attempting to apply
Fill(unsupported by Core Animation rendering engine) (https://github.com/airbnb/lottie-ios/pull/1706)
AnimationKeypaths were not applied correctly by Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/1715)
GradientStrokewould be cut off when using Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/1721)