ページ内ナビ
概要
Kingfisherは、Web画像の非同期取得、表示、加工、メモリー・ディスクキャッシュをSwiftアプリへ組み込むライブラリです。UIKit、AppKit、SwiftUIの画面部品から同じURLを再利用できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
画像表示と多層キャッシュを一つのAPIで扱う
UIImageViewなどの拡張とKFImageが取得、プレースホルダー、変換、遷移をまとめます。同じURLはキャッシュから再表示でき、先読みや有効期限も設定できます。
出典:[1]
向いている用途
画像一覧や詳細画面を持つAppleアプリに向く
iOSやmacOSなどで多数の遠隔画像を滑らかに表示したい用途に向きます。画像提供元の利用条件、通信失敗時の表示、容量上限はアプリ側で設計します。
出典:[1]
導入前の確認
参考にした公式資料
- [1]Kingfisher README at 8.13.0(2026-10-05)
- [2]Kingfisher Package.swift at 8.13.0(2026-10-05)
- [3]Kingfisher LICENSE at 8.13.0(2026-10-05)
- [4]Kingfisher 8.13.0 release(2026-10-05)
編集部からの補足
採用前に、公式の最小例を対象環境で動かし、アプリ側が担う範囲と依存条件を確認してください。
3ステップで試す
- 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
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
Xcodeでアプリへ組み込んで確認する
XcodeでPackage.swiftを開き、My Macで実行します。画像表示後にReload same URLを押し、画面とコンソールのキャッシュ種別を確認します。
open -a Xcode Package.swift
成長
成長の推移 · 直近30日
24,405 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 48
- Open PR
- 0
- Issue登録
- 4
- Issue解決
- 8
- PR登録
- 35
- PRマージ
- 37
Issues
4 / 8
Pull Requests
35 / 37
メンテナンス状況
- Issue初回応答中央値
- 32日
- Issue応答率
- 50% (2/4)
直近90日に外部から作成されたIssue(新しい順に最大100件)が対象です。OWNER・MEMBER・COLLABORATORによる最初のコメントを応答とし、全コメントを確認できないIssueは集計から除外します。中央値と応答率は週次更新です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Fullmoon2,267 Stars
共通タグ 3件 · 同じ言語
Apple Silicon上でMLXモデルを端末内実行し、chat履歴もlocal保存するiPhone・iPad・Mac向けAI chat app
Swift - FluidVoice11,905 Stars
共通タグ 2件 · 同じ言語
Mac全体へローカル音声入力し、必要な処理だけクラウドAIまたは端末内AIへ切り替える
Swift - Gifski8,572 Stars
共通タグ 2件 · 同じ言語
macOSの動画をcrop・trim・previewし、gifski encoderで高品質GIFへ変換するnative app
Swift - Coil11,915 Stars
共通タグ 1件 · 共通カテゴリ 2件
Kotlin Coroutinesを使ってAndroid・Compose Multiplatformへ画像を読み込み、cache・resize・request lifecycleを統合する
Kotlin - Alamofire42,407 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
SwiftのHTTP通信をURLSession上で簡潔に組み立て、retry・upload・download・TLS pinningまで統合する
Swift - CodeEdit23,058 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
macOSネイティブのコード編集と開発ツールを一つのSwiftアプリへまとめる
Swift
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。