Repolode
kean

kean/Nuke

面向苹果平台的 Swift 图片加载系统,支持缓存、图片处理与 SwiftUI/UIKit 组件。

Star
8,684
Fork
575
未关闭 Issue
25
最近提交
前天

这是什么?

Nuke 是一个面向 iOS、macOS、watchOS、tvOS 和 visionOS 的图片加载框架。它通过统一的图片管道完成网络请求、解码、处理和缓存,应用代码只需发起请求并展示结果。

核心模块 ImagePipeline 提供内存与磁盘缓存、请求合并与优先级、预取以及可断点续传的下载。图片处理和解压在管道中完成,支持渐进式 JPEG、HEIF、WebP、GIF 和动图。加载进度可以通过异步序列观察。

NukeUI 提供现成的视图组件:SwiftUI 中使用 LazyImage,UIKit 和 AppKit 中使用 LazyImageView 与 ImageLoader。另有模块支持短视频解码与播放。项目通过 Swift Package Manager 分发,仓库中附带演示应用。

核心功能

  • 01内存与磁盘双层图片缓存
  • 02管道内完成图片处理与解压
  • 03支持请求合并、优先级与预取
  • 04支持断点续传和渐进式 JPEG
  • 05可解码 HEIF、WebP、GIF 与动图
  • 06提供 SwiftUI、UIKit 和 AppKit 显示组件

适用场景

  • 在 iOS 或 macOS 的列表、网格中加载远程图片
  • 在 SwiftUI 应用中展示 GIF 或 WebP 动图
  • 在信息流滚动前预取图片以提升体验

快速上手

  1. 1

    使用 Swift Package Manager(推荐)将 Nuke 添加到项目中

  2. 2

    打开 Nuke.xcodeproj 并运行 NukeDemo scheme 体验示例应用

使用前须知

  • 仅适用于 Apple 平台(iOS、macOS、watchOS、tvOS、visionOS)。
  • 主分支为正在开发中的 Nuke 14,其系统要求尚未最终确定;最新正式版为 Nuke 13。

收录于专题

标签

常见问题

Nuke 是什么?
面向苹果平台的 Swift 图片加载系统,支持缓存、图片处理与 SwiftUI/UIKit 组件。 Nuke 是一个面向 iOS、macOS、watchOS、tvOS 和 visionOS 的图片加载框架。它通过统一的图片管道完成网络请求、解码、处理和缓存,应用代码只需发起请求并展示结果。
Nuke 可以免费使用吗?用的什么许可证?
Nuke 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
Nuke 还在维护吗?
活跃维护中。Nuke 最近一次提交是在 2026年10月22日。
Nuke 适合用来做什么?
在 iOS 或 macOS 的列表、网格中加载远程图片 在 SwiftUI 应用中展示 GIF 或 WebP 动图 在信息流滚动前预取图片以提升体验
Nuke 怎么安装和运行?
使用 Swift Package Manager(推荐)将 Nuke 添加到项目中 打开 Nuke.xcodeproj 并运行 NukeDemo scheme 体验示例应用
在哪里获取 Nuke?
源代码和安装说明在 GitHub 上:https://github.com/kean/Nuke

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目