OSS探訪GitHubでログイン

非同期downloadとmemory/disk cacheでUIKitのnetwork画像表示を管理する

スコアの見方

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

Stars
25,612
主要言語
Objective-C
ライセンス
MIT
リポジトリ最終更新
2026/04/15
ページ内ナビ

概要

SDWebImageはApple platform向けの非同期画像download・cacheライブラリです。UIImageViewなどへURL画像を読み込むcategory/APIを提供し、memory/disk cache、progressive loading、animated image、transformer、追加coder/pluginまで画像pipelineを拡張できます。

特徴と向いている用途

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

主な特徴

UIImageViewへ非同期downloadとcacheをまとめて組み込む

SwiftからimageView.sd_setImageを呼ぶだけでURL画像を非同期取得し、placeholder表示とcache管理を組み合わせられます。同じURLの重複download抑止やmemory/disk cacheもcore機能として提供されます。

出典:[2][3]

animated image・progressive loading・coder/pluginへ拡張する

GIF/APNG等のanimated image、progressive image loading、thumbnail decode、transformer、複数cache/loaderを扱えます。WebP、HEIF、AVIF、SVGなどはcoder plugin ecosystemから追加できます。

出典:[2]

向いている用途

UIKit中心のiOSアプリで大量のremote画像を安定して扱いたい場合に向く

listやfeedでremote画像を繰り返し表示し、download、cache、placeholder、animationを共通化したいUIKitアプリに適します。SwiftUI向けUI componentは別repositoryのSDWebImageSwiftUIとして提供されています。

出典:[2]

導入前の確認

5.21.7はiOS 9以上・Xcode 15以上で、SwiftUIは別packageを確認する

READMEはiOS 9以上、Xcode 15以上を要件とし、SwiftPM packageにはPrivacyInfo.xcprivacyも含まれます。coreのSwiftUI viewはSDWebImageSwiftUI側に分離されているため、SwiftUI主体のappでは追加packageの要否を確認してください。

出典:[2][4][5]

参考にした公式資料

  1. [1]SDWebImage/SDWebImage — GitHub repository(2026-10-06)
  2. [2]SDWebImage 5.21.7 — README(2026-10-06)
  3. [3]SDWebImage 5.21.7 — How To Use(2026-10-06)
  4. [4]SDWebImage 5.21.7 — Package.swift(2026-10-06)
  5. [5]SDWebImage 5.21.7 release(2026-10-06)
  6. [6]SDWebImage MIT license(2026-10-06)
編集部からの補足

remote画像が多いUIKitアプリでdownload・cache・placeholder・animationを共通化したい場合に向きます。SwiftUI用viewはSDWebImageSwiftUIへ分離されているため、SwiftUI主体ならcoreとの役割分担を確認してください。

3ステップで試す

  1. 1

    SDWebImage 5.21.7をSwiftPM dependencyへ追加する

    確認済みのlatest releaseを固定します。README上の要件はiOS 9以上、Xcode 15以上です。

    .package(url: "https://github.com/SDWebImage/SDWebImage.git", exact: "5.21.7")
  2. 2

    SDWebImageをimportする

    UIKit側でUIImageView extensionを利用できるようcore moduleを読み込みます。

    import SDWebImage
  3. 3

    UIImageViewへremote画像を読み込む

    READMEのSwift例に沿って非同期downloadとcache、placeholder表示をまとめて動作確認します。

    imageView.sd_setImage( with: URL(string: "https://example.com/image.jpg"), placeholderImage: UIImage(named: "placeholder") )
公式READMEで確認

成長

成長の推移 · 直近30日

25,612 Stars

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

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
8

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

Built with

カテゴリとタグ

GitHubデータ

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

GitHub Topics

  • macos
  • ios
  • watchos
  • image
  • jpeg
  • png
  • gif
  • webp
  • cache
  • objective-c
  • swift
  • cocoapods
Stars
25,612
Forks
5,955
Watchers
777
Open Issues
125
Contributors
260
所有者種別
Organization
主要言語
Objective-C
ライセンス
MIT
リポジトリ最終更新
2026/04/15

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

情報の誤りを報告

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

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