OSS探訪GitHubでログイン

Appleプラットフォームの画面で画像取得、加工、キャッシュをまとめて扱う

スコアの見方

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

Stars
24,405
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/10/03
ページ内ナビ

概要

Kingfisherは、Web画像の非同期取得、表示、加工、メモリー・ディスクキャッシュをSwiftアプリへ組み込むライブラリです。UIKit、AppKit、SwiftUIの画面部品から同じURLを再利用できます。

特徴と向いている用途

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

主な特徴

画像表示と多層キャッシュを一つのAPIで扱う

UIImageViewなどの拡張とKFImageが取得、プレースホルダー、変換、遷移をまとめます。同じURLはキャッシュから再表示でき、先読みや有効期限も設定できます。

出典:[1]

向いている用途

画像一覧や詳細画面を持つAppleアプリに向く

iOSやmacOSなどで多数の遠隔画像を滑らかに表示したい用途に向きます。画像提供元の利用条件、通信失敗時の表示、容量上限はアプリ側で設計します。

出典:[1]

導入前の確認

対応OS、Xcode、個人情報の扱いを確認する

8.xはUIKit/AppKitとSwiftUIで最低OS条件が異なり、Swift 5.9以上が必要です。8.13.0のPackage.swiftはより新しい開発環境を示すため、対象版と配備先をXcodeで確認してください。

出典:[1][2]

参考にした公式資料

  1. [1]Kingfisher README at 8.13.0(2026-10-05)
  2. [2]Kingfisher Package.swift at 8.13.0(2026-10-05)
  3. [3]Kingfisher LICENSE at 8.13.0(2026-10-05)
  4. [4]Kingfisher 8.13.0 release(2026-10-05)
編集部からの補足

採用前に、公式の最小例を対象環境で動かし、アプリ側が担う範囲と依存条件を確認してください。

3ステップで試す

  1. 1

    固定版の依存情報を用意する

    macOS 12以上を対象に、Kingfisher 8.13.0をexactで固定したSwift Packageのアプリ雛形を作ります。Xcode 26.0以上とSwift 6.2以上を使います。

    mkdir KingfisherDemo && cd KingfisherDemo && mkdir -p Sources/KingfisherDemo && printf '%s\n' '// swift-tools-version: 6.2' 'import PackageDescription' 'let package = Package(' ' name: "KingfisherDemo",' ' platforms: [.macOS(.v12)],' ' dependencies: [.package(url: "https://github.com/onevcat/Kingfisher.git", exact: "8.13.0")],' ' targets: [.executableTarget(name: "KingfisherDemo", dependencies: [.product(name: "Kingfisher", package: "Kingfisher")])]' ')' > Package.swift
  2. 2

    SwiftUIの画像画面を書く

    固定版のロゴをKFImageで表示し、同じURLを再読込して成功時のcacheTypeをコンソールへ出すSwiftUI画面を作ります。

    printf '%s\n' 'import SwiftUI' 'import Kingfisher' '@main struct KingfisherDemoApp: App {' ' var body: some Scene { WindowGroup { ContentView() } }' '}' 'struct ContentView: View {' ' @State private var reload = 0' ' let url = URL(string: "https://raw.githubusercontent.com/onevcat/Kingfisher/8.13.0/images/logo.png")!' ' var body: some View {' ' VStack {' ' KFImage(url).onSuccess { print("cache: \($0.cacheType)") }.resizable().scaledToFit().id(reload)' ' Button("Reload same URL") { reload += 1 }' ' }.frame(width: 560, height: 360)' ' }' '}' > Sources/KingfisherDemo/main.swift
  3. 3

    Xcodeでアプリへ組み込んで確認する

    XcodeでPackage.swiftを開き、My Macで実行します。画像表示後にReload same URLを押し、画面とコンソールのキャッシュ種別を確認します。

    open -a Xcode Package.swift
公式READMEで確認

成長

成長の推移 · 直近30日

24,405 Stars

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

開発アクティビティ

直近90日・週次

Commit(直近30日)
48
Open PR
0
Issue登録
4
Issue解決
8
PR登録
35
PRマージ
37

Issues

4 / 8

7月8日10月5日
Issue登録Issue解決

Pull Requests

35 / 37

7月8日10月5日
PR登録PRマージ

メンテナンス状況

Issue初回応答中央値
32日
Issue応答率
50% (2/4)

直近90日に外部から作成されたIssue(新しい順に最大100件)が対象です。OWNER・MEMBER・COLLABORATORによる最初のコメントを応答とし、全コメントを確認できないIssueは集計から除外します。中央値と応答率は週次更新です。

Built with

カテゴリとタグ

GitHubデータ

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

GitHub Topics

  • swift
  • kingfisher
  • image
  • cache
  • filters
  • image-processor
  • xcode
  • ios
  • macos
Stars
24,405
Forks
2,770
Watchers
358
Open Issues
168
Contributors
213
所有者種別
User
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/10/03

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

情報の誤りを報告

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

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