OSS探訪GitHubでログイン

After Effects由来のJSON・.lottieアニメーションをApple platformでnative描画する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
26,894
主要言語
Swift
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/28
ページ内ナビ

概要

Lottie for iOSはBodymovin JSONや.lottie形式のvector animationをiOS、macOS、tvOS、visionOS上でnative描画するライブラリです。再生、loop、速度変更、scrub、runtimeのvalue差し替えに対応し、designerが作成したanimationをapplication UIへ組み込めます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

vector animationを再生・loop・scrubし、runtimeで値を変更する

Bodymovin JSONとしてexportされたanimationを読み込み、再生範囲、loop、速度、逆再生、interactive scrubを制御できます。color、positionなどkeyframe可能な値もruntimeで差し替えられます。

出典:[2]

SwiftPMでは軽量なlottie-spm経由でsigned XCFrameworkを利用できる

公式READMEはSwiftPM利用時にlottie-spm repositoryを推奨しています。巨大なgit履歴を取得せず、releaseに添付されたprecompiled XCFrameworkへのpointerを取得する構成で、4.4.0以降のXCFrameworkにはcode signatureも付与されています。

出典:[2]

向いている用途

onboarding・empty state・micro interactionをdesignerのanimationから実装したい場合に向く

After Effects等で作成したanimation assetをengineerがframe-by-frameで再実装せず、product UIへ組み込みたいiOS applicationに適します。SwiftUIとUIKit双方の表示経路を利用できます。

出典:[2]

導入前の確認

4.6.1はiOS 13以上・Swift tools 6.0で、ZIP展開のsecurity fixを含む

Package.swiftはiOS 13、macOS 10.15、tvOS 13、visionOS 1.0以上を宣言しています。4.6.1ではembedded ZIPFoundationが0.9.20へ更新され、ZIP展開時のsymlink path traversal対策が含まれるため、4.6.0以前から更新する場合は4.6.1以降を基準にしてください。

出典:[3][4]

参考にした公式資料

  1. [1]airbnb/lottie-ios — GitHub repository(2026-10-06)
  2. [2]Lottie for iOS 4.6.1 — README(2026-10-06)
  3. [3]Lottie for iOS 4.6.1 — Package.swift(2026-10-06)
  4. [4]Lottie for iOS 4.6.1 release(2026-10-06)
  5. [5]Lottie Apache-2.0 license(2026-10-06)
編集部からの補足

designerが作成したanimationをonboardingやmicro interactionへ組み込みたいiOS appに向きます。4.6.1にはembedded ZIPFoundationのpath traversal対策が含まれるため、4.6.0以前では更新を優先してください。

3ステップで試す

  1. 1

    Lottie 4.6.1をSwiftPMで追加する

    公式READMEが推奨する軽量なlottie-spm経由で確認済みreleaseを固定します。iOS 13以上が必要です。

    .package(url: "https://github.com/airbnb/lottie-spm.git", exact: "4.6.1")
  2. 2

    bundle内のanimationを読み込む

    Loading.jsonなどのBodymovin animationをbundleからLottieAnimationとして読み込みます。

    import Lottie let animation = LottieAnimation.named("Loading")
  3. 3

    LottieAnimationViewでloop再生する

    animation viewへ設定してloop再生し、実際のassetがnative描画されることを確認します。

    let animationView = LottieAnimationView(animation: animation) animationView.loopMode = .loop animationView.play()
公式READMEで確認

成長

成長の推移 · 直近30日

26,894 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
2
Open PR
1

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • animation
  • bodymovin
  • ios-animation
  • ios
  • transition-animation
  • keyframes
  • ios-transition
  • custom-transitions
  • swift
Stars
26,894
Forks
3,839
Watchers
457
Open Issues
44
Contributors
242
所有者種別
Organization
主要言語
Swift
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/28

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?