Repolode
onevcat

onevcat/Kingfisher

iOS、macOS、SwiftUIアプリでWeb上の画像をダウンロード、キャッシュ、表示する、軽量な純Swiftライブラリ。

スター
24,403
フォーク
2,774
未解決の Issue
164
最終コミット
7 日前

これは何?

Kingfisherは、リモートURLからAppleプラットフォームのアプリに画像を読み込むためのSwiftライブラリです。imageView.kf.setImage(with:)のような画像ビュー拡張にURLを渡すと、画像をダウンロードしてメモリとディスクのキャッシュに保存し、表示します。同じURLへの後続のリクエストには、キャッシュから画像を返します。

基本的な読み込みに加え、画像プロセッサとフィルタ、キャッシュの有効期限とサイズ制限、キャンセル可能なダウンロード、先読み、プレースホルダー、読み込みインジケーター、トランジションアニメーションを備えています。ダウンローダー、キャッシュ、プロセッサはそれぞれ単独でも利用できます。UIKitとAppKitのビューやボタン向けの拡張に加え、KFImageビューを通じてSwiftUIにも対応しています。

主な機能

  • 01メモリとディスクへのキャッシュに対応した非同期画像ダウンロード
  • 02ダウンサンプリングや角丸を含む画像プロセッサとフィルタ
  • 03設定可能なキャッシュの有効期限とサイズ制限
  • 04キャンセル可能なダウンロードと画像の先読み
  • 05UIKit、AppKit、SwiftUIの画像ビュー向け拡張

ユースケース

  • リストビューのあるiOSアプリで、リモートの商品画像やアバターを表示する
  • メモリを節約するため、大きな写真を表示先ビューのサイズに合わせて読み込む
  • ユーザーが画像までスクロールする前に先読みする

クイックスタート

  1. 1

    リポジトリのURLを使って、XcodeにSwift Packageの依存関係を追加します

  2. 2

    CocoaPodsのPodfileにKingfisherを追加します

  3. 3

    リモート画像を画像ビューに読み込みます

    imageView.kf.setImage(with: url)

使う前に知っておきたいこと

  • Appleプラットフォーム(iOS、macOS、tvOS、watchOS、visionOS)のみを対象とし、Swiftが必要です。
  • 現在の開発ブランチにはXcode 26とSwift 6.2以降が必要で、以前のリリースより新しいバージョンが求められます。

収録されている特集

トピック

よくある質問

Kingfisher とは?
iOS、macOS、SwiftUIアプリでWeb上の画像をダウンロード、キャッシュ、表示する、軽量な純Swiftライブラリ。 Kingfisherは、リモートURLからAppleプラットフォームのアプリに画像を読み込むためのSwiftライブラリです。imageView.kf.setImage(with:)のような画像ビュー拡張にURLを渡すと、画像をダウンロードしてメモリとディスクのキャッシュに保存し、表示します。同じURLへの後続のリクエストには、キャッシュから画像を返します。
Kingfisher は無料で使えますか?ライセンスは?
Kingfisher は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
Kingfisher は今もメンテナンスされていますか?
活発にメンテナンス中。Kingfisher の最終コミットは 2026年10月18日 です。
Kingfisher は何に使えますか?
リストビューのあるiOSアプリで、リモートの商品画像やアバターを表示する メモリを節約するため、大きな写真を表示先ビューのサイズに合わせて読み込む ユーザーが画像までスクロールする前に先読みする
Kingfisher のインストール方法は?
リポジトリのURLを使って、XcodeにSwift Packageの依存関係を追加します CocoaPodsのPodfileにKingfisherを追加します リモート画像を画像ビューに読み込みます: imageView.kf.setImage(with: url)
Kingfisher はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/onevcat/Kingfisher

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト