[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6662":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":38,"discoverSource":39},6662,"lottie-ios","airbnb\u002Flottie-ios","airbnb","An iOS library to natively render After Effects vector animations","https:\u002F\u002Flottie.airbnb.tech",null,"Swift",26766,3832,450,44,0,2,8,32,9,81.2,"Apache License 2.0",false,"master",[26,27,28,29,30,31,32,33,34],"animation","bodymovin","custom-transitions","ios","ios-animation","ios-transition","keyframes","swift","transition-animation","2026-06-12 04:00:29","# Lottie for iOS\n [![Version](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fv\u002Flottie-ios.svg?style=flat)](https:\u002F\u002Fcocoapods.org\u002Fpods\u002Flottie-ios) [![Carthage Compatible](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCarthage-compatible-4BC51D.svg?style=flat)](https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage) [![SwiftPM](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSPM-supported-DE5C43.svg?style=flat)](https:\u002F\u002Fswift.org\u002Fpackage-manager\u002F) [![License](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fl\u002Flottie-ios.svg?style=flat)](https:\u002F\u002Fcocoapods.org\u002Fpods\u002Flottie-ios) [![Platform](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fairbnb%2Flottie-ios%2Fbadge%3Ftype%3Dplatforms)](https:\u002F\u002Fswiftpackageindex.com\u002Fairbnb\u002Flottie-ios) [![Swift Versions](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fairbnb%2Flottie-ios%2Fbadge%3Ftype%3Dswift-versions)](https:\u002F\u002Fswiftpackageindex.com\u002Fairbnb\u002Flottie-ios)\n\n**View documentation, FAQ, help, examples, and more at [airbnb.io\u002Flottie](https:\u002F\u002Fairbnb.io\u002Flottie\u002F)**\n\nLottie is a cross-platform library for iOS, macOS, tvOS, visionOS, [Android](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-android), and [Web](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-web) that natively renders vector-based animations and art in realtime with minimal code.\n\nLottie loads and renders animations and vectors exported in the bodymovin JSON format. Bodymovin JSON can be created and exported from After Effects with [bodymovin](https:\u002F\u002Fgithub.com\u002Fbodymovin\u002Fbodymovin), Sketch with [Lottie Sketch Export](https:\u002F\u002Fgithub.com\u002Fbuba447\u002FLottie-Sketch-Export), and from [Haiku](https:\u002F\u002Fwww.haikuanimator.com).\n\nDesigners can create **and ship** beautiful animations without an engineer painstakingly recreating them by hand.\nSince the animations are backed by JSON, they are extremely small in size but can be large in complexity!\nAnimations can be played, resized, looped, sped up, slowed down, reversed, and even interactively scrubbed.\nLottie can play or loop just a portion of the animation as well, the possibilities are endless!\nAnimations can even be ***changed at runtime*** in various ways! Change the color, position, or any keyframable value!\n\nHere is just a small sampling of the power of Lottie\n\n![Example1](_Gifs\u002FExamples1.gif)\n![Example2](_Gifs\u002FExamples2.gif)\n\n\u003Cimg src=\"_Gifs\u002FCommunity 2_3.gif\" \u002F>\n\n![Example3](_Gifs\u002FExamples3.gif)\n\n![Abcs](_Gifs\u002FExamples4.gif)\n\n## Installing Lottie\nLottie supports [Swift Package Manager](https:\u002F\u002Fwww.swift.org\u002Fpackage-manager\u002F), [CocoaPods](https:\u002F\u002Fcocoapods.org\u002F), and [Carthage](https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage) (Both dynamic and static).\n\n### Github Repo\n\nYou can pull the [Lottie Github Repo](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-ios\u002F) and include the `Lottie.xcodeproj` to build a dynamic or static library.\n\n### Swift Package Manager\n\nTo install Lottie using [Swift Package Manager](https:\u002F\u002Fgithub.com\u002Fswiftlang\u002Fswift-package-manager) you can follow the [tutorial published by Apple](https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Fxcode\u002Fadding_package_dependencies_to_your_app) using the URL for the Lottie repo with the current version:\n\n1. In Xcode, select “File” → “Add Packages...”\n1. Enter https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-spm.git\n\nor you can add the following dependency to your `Package.swift`:\n\n```swift\n.package(url: \"https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-spm.git\", from: \"4.5.2\")\n```\n\nWhen using Swift Package Manager we recommend using the [lottie-spm](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-spm) repo instead of the main lottie-ios repo.  The main git repository for [lottie-ios](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-ios) is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The [lottie-spm](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-spm) repo is much smaller (less than 500kb), so can be downloaded much more quickly. \n\nInstead of downloading the full git history of Lottie and building it from source, the lottie-spm repo just contains a pointer to the precompiled XCFramework included in the [latest lottie-ios release](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-ios\u002Freleases\u002Flatest) (typically ~8MB). If you prefer to include Lottie source directly your project, you can directly depend on the main lottie-ios repo by referencing `https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-ios.git` instead.\n\n### CocoaPods\nAdd the pod to your Podfile:\n```ruby\npod 'lottie-ios'\n```\n\nAnd then run:\n```ruby\npod install\n```\nAfter installing the cocoapod into your project import Lottie with\n```swift\nimport Lottie\n```\n\n### Carthage\nAdd Lottie to your Cartfile:\n```\ngithub \"airbnb\u002Flottie-ios\" \"master\"\n```\n\nAnd then run:\n```\ncarthage update\n```\nIn your application targets “General” tab under the “Linked Frameworks and Libraries” section, drag and drop lottie-ios.framework from the Carthage\u002FBuild\u002FiOS directory that `carthage update` produced.\n\n## Swift Version Support\n\nLottie supports Swift \u002F Xcode versions back to the minimum version that is permitted by Apple for submissions to the App Store. You can see the most up-to-date information for which Swift versions Lottie supports on [Swift Package Index](https:\u002F\u002Fswiftpackageindex.com\u002Fairbnb\u002Flottie-ios):\n\n[![Swift Versions](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fairbnb%2Flottie-ios%2Fbadge%3Ftype%3Dswift-versions)](https:\u002F\u002Fswiftpackageindex.com\u002Fairbnb\u002Flottie-ios)\n\n## Privacy\n\nLottie does not collect any data. We provide this notice to help you fill out [App Privacy Details](https:\u002F\u002Fdeveloper.apple.com\u002Fapp-store\u002Fapp-privacy-details\u002F). We additionally provide a [privacy manifest](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-ios\u002Fblob\u002Fmaster\u002FSources\u002FPrivacyInfo.xcprivacy) which can be included in your app.\n\n## Security\n\nWe distribute XCFramework bundles for each release on [GitHub](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-ios\u002Freleases\u002Flatest). In Lottie 4.4.0 and later, these XCFramework bundles include a [code signature](https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Fxcode\u002Fverifying-the-origin-of-your-xcframeworks). These bundles are self-signed under the name \"Lottie iOS\" and have the following fingerprint:\n\n```\n89 2F 1B 43 04 7B 50 53 8F 2F 46 EA D9 29 00 DD 3D 48 11 F358 21 78 C0 61 A5 FB 20 F1 11 CB 26\n```\n\nIn Xcode you can verify this by selecting `Lottie.xcframework` and confirming that it shows the following information:\n\n![Code Signature in Xcode](_Gifs\u002Fcode_signature.png)\n\n## Contributing\n\nWe always appreciate contributions from the community. To make changes to the project, you can clone the repo and open `Lottie.xcworkspace`. This workspace includes:\n - the Lottie framework (for iOS, macOS, and tvOS)\n - unit tests and snapshot tests (for iOS, must be run on an iPhone 8 simulator)\n - an Example iOS app that lets you browse and test over 100 sample animations included in the repo\n\nAll pull requests with new features or bug fixes that affect how animations render should include snapshot test cases that validate the included changes. \n  - To add a new sample animation to the snapshot testing suite, you can add the `.json` file to `Tests\u002FSamples`. Re-run the snapshot tests to generate the new snapshot image files.\n  - To update existing snapshots after making changes, you can set `isRecording = true` in `SnapshotTests.swift` `setUp()` method and then re-run the snapshot tests.\n\nThe project also includes several helpful commands defined in our [Rakefile](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Flottie-ios\u002Fblob\u002Fmaster\u002FRakefile). To use these, you need to install [Bundler](https:\u002F\u002Fbundler.io\u002F):\n\n```bash\n$ sudo gem install bundle\n$ bundle install\n```\n\nFor example, all Swift code should be formatted according to the [Airbnb Swift Style Guide](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Fswift). After making changes, you can reformat the code automatically using [SwiftFormat](https:\u002F\u002Fgithub.com\u002Fnicklockwood\u002FSwiftFormat) and [SwiftLint](https:\u002F\u002Fgithub.com\u002Frealm\u002FSwiftLint) by running `bundle exec rake format:swift`. Other helpful commands include:\n\n```bash\n$ bundle exec rake build:all # builds all targets for all platforms\n$ bundle exec rake build:package:iOS # builds the Lottie package for iOS\n$ bundle exec rake test:package # tests the Lottie package\n$ bundle exec rake format:swift # reformat Swift code based on the Airbnb Swift Style Guide\n```\n","Lottie for iOS 是一个用于在iOS设备上原生渲染After Effects矢量动画的库。它支持通过Bodymovin JSON格式加载和渲染动画，使得设计师能够创建并直接发布复杂的动画而无需工程师手动重制。Lottie的核心特点包括动画的实时播放、调整大小、循环播放、速度控制以及反向播放等，并且这些动画可以在运行时动态修改其颜色、位置或任何关键帧属性。由于动画基于JSON文件，因此它们体积小但表现力强。此项目适用于需要为应用添加流畅且吸引人的动画效果的各种iOS开发场景中，如用户界面过渡、微交互设计等。","2026-06-11 03:08:10","top_language"]