您的照片图库
正在保留自身的副本。
Img DeDup 会对您 iPhone 上的每张照片和视频进行指纹识别,将字节完全相同的副本、近乎相同的重新保存文件以及剩余的连拍帧进行分组,并准确显示它会保留哪一个副本。由您决定删除哪些内容。所有操作均在手机本地完成。
测试版期间免费。适用于 iPhone 和 iPad,需 iOS 26 或更高版本。
四轮扫描,然后做出决策
无法逐张比较大型图库——那将涉及数十亿次比较。Img DeDup 会先以低成本缩小范围,仅对剩余项目执行高成本操作。
- 每张照片和视频包含整个图库、隐藏项目以及单独的连拍帧。
- 排除大部分项目尺寸和文件大小已知,读取成本为零。在 57,847 张照片的图库中,这会将候选项目减少至几百个。
- 对剩余项目进行指纹识别对字节完全相同的副本使用 SHA-256。对同一张图片以不同字节保存多次的情况使用独立的感知指纹。
- 分为三类“精确”保留最早的副本。“相似”保留最高质量——像素最多,其次为文件最大。“连拍”保留您或“照片”应用选择的帧。
- 你进行审查绿色保留,红色将被移除,每组重复项都会显示。目前尚未移动任何文件。
- 两次确认应用会先询问,然后 iOS 会在其自己的对话框中再次询问,并显示自己的计数。
- 最近删除,30 天副本将被移入此处。不允许第三方应用清空此回收站。
- 在“照片”应用中清空只有此时空间才会真正释放,也只有此时 iCloud 才会开始重新计算。
每扫描几十个项目就会保存一个检查点,因此强制退出后将从停止处恢复,而不是重新开始。你也可以将单次扫描限制为一小时,稍后再完成。
符号含义
结果界面故意设计得信息密集——一组十五个副本应视为一个决策,而不是十五个。这是应用首次打开时显示的图例,也是之后点击问号时显示的内容。
顶部栏
- 此图例
- 删除后
- 重新扫描,从缓存
底部栏
- 选择集合
- 批量删除
- 取消选择
- 全选,点击清除
- 删除红色副本
在行中
- 绿色边框:保留
- 红色边框:已删除
- 原始文件安全
- 红色副本为收藏
- 红色副本有编辑
- 副本在隐藏中
- 未加载预览
- 点击行,滑动以删除
批量删除默认包含收藏。这是有意为之,每个适用的集合都会标记心形图标,以便您在确认前查看。
每个屏幕
截图来自 iPhone 17 Pro Max 上的发行版,背景为包含 57,847 张照片和视频的真实库,总大小为 1.01 TB。此处所有内容均为实拍,非模拟。
功能说明
三类重复项,每类各有一条关于保留内容的规则。
完全匹配副本
通过 SHA-256 校验的字节级完全相同副本。保留最早的副本,提供所有后续副本。不涉及任何判断,也不要求您做出判断。
相似副本
同一张图片被存储了两次——重新保存、重新压缩、重新调整大小。感知指纹可以在校验和无法检测到的地方找到这些副本。保留质量最高的副本。
连拍帧
系统照片应用选择的帧,或你选择的帧会被保留。仅会提供其周围的额外帧。
可调节的严格程度
严格模式仅查找几乎相同的副本。正常模式是默认设置。宽松模式还会捕获重新压缩和调整大小的变体,但代价是会出现一些误匹配。
不会跳过任何内容
会扫描隐藏照片和连拍中的每一帧,而不是跳过它们。你看不到的副本所占用的存储空间与你看得到的副本相同。
检查点扫描
每扫描几十个项目就会保存进度。强制退出后,扫描会从停止的地方继续。你可以将单次扫描限制为一小时,并在之后完成。
支持 iCloud 照片
仅在比较实际需要时才会下载原始文件。关闭此功能后,扫描将使用本地预览,虽然功能较少,但不会下载任何内容。
书面记录
每次删除都会记录文件名、SHA-256 哈希值、字节数以及保留的副本。系统会重新获取库中的每一项以进行验证,并报告哪些内容已丢失。
可导出的证据
删除日志、快照历史记录以及纯文本节省报告均可从应用中导出,且格式无需应用即可阅读。
按您的计划定价
释放的空间价值基于您实际支付的 iCloud+ 层级计算,按月、按年和按十年按比例折算。按比例计算出的数值是诚实的底线。
无需账户,无需服务器
不会上传任何内容,也不会追踪任何数据。唯一的网络流量来自 Apple 自身,即当应用请求读取时,iCloud 发送原始文件的过程。
它无法为您清除
已删除的副本会移至“最近删除”中保留 30 天。没有任何第三方应用可以清空该回收站。应用会明确说明这一点,并展示操作步骤。
问题
在开始之前,有三项限制值得了解:此应用会查找副本并建议删除,但它无法清空“最近删除”,无法让 iCloud 更快地重新计算您的存储空间,也无法查看 Apple 自身的“重复项”相册内部。以下内容均基于这些限制。
它会自行删除任何内容吗?
不会。审查屏幕仅提出建议。绿色表示它建议保留的副本,红色表示它建议删除的内容,在您点击删除按钮之前,不会移动任何内容。随后 iOS 会在其自己的对话框中再次询问,并指明确切的照片数量。
被删除的副本去了哪里?
进入“最近删除”文件夹,它们会在那里停留 30 天。这是系统规则,任何第三方应用都无法跳过或清空它。要实际释放空间,请打开“照片”应用,进入“实用工具”中的“最近删除”,进行身份验证,然后“全部删除”。该应用会在每次删除后显示这些步骤,因为它无法为您执行这些操作。
为什么我的 iCloud 存储空间没有减少?
存在三个叠加的延迟。删除操作首先同步到 iCloud,然后同步到每台 Mac 和 iPad,这需要几分钟到几小时的时间。“最近删除”文件夹仍保留这些副本,直到您清空它。此后,设置中的存储数字会在 Apple 自己的时间表上重新计算,这可能需要数小时或数天。没有问题;没有任何 API 能使这些过程更快。
什么算作相似?
同一张图片以不同的字节存储了两次——重新保存、重新压缩、调整大小,或再次导出和导入。感知指纹可以在校验和无法检测到的地方捕捉到这些副本。严格程度由您设置:严格模式仅查找几乎相同的副本,正常模式是默认设置,宽松模式还会捕捉重新压缩或调整大小的变体,但代价是会出现一些误匹配。
有什么东西会离开我的手机吗?
没有。没有账户,没有服务器,也没有分析。指纹提取、比对和删除均在设备本地完成。唯一的网络流量来自 Apple 自身,即当应用需要读取 iCloud 下发的原始文件时。
我可以查看它删除了哪些内容吗?
可以。每次删除操作都会记录到日志中,包含文件名、SHA-256 值、字节数和保留副本的标识符。通过重新获取库数据,可以验证每个已记录的标识符,并报告哪些已消失。您可以随时导出日志、快照历史记录和纯文本节省报告。
为什么“照片”应用中的“重复项”相册仍显示重复组?
该相册由“照片”应用自身的分析功能构建,该功能仅在 Mac 处于空闲且接通电源时运行。它会继续显示本应用已删除的重复组,直到该分析过程再次运行。两者查看的是同一个库,但运行计划不同。
它会处理并非真正重复的照片吗?
精确重复组通过 SHA-256 实现字节级一致,因此不涉及主观判断。相似重复组和连拍组涉及判断,这就是为什么在发生任何操作前会显示每个重复组,并且严格程度可调整的原因。隐藏照片和连拍组的每一帧都会包含在扫描中,而不是被跳过,因为看不见的副本同样占用存储空间。
三种获取方式
只有一个应用,且只有一个构建版本。区别在于获取途径:其中两种免费,但需要耐心或开发者账号;第三种则直接安装即可。
TestFlight——免费,有效期90天
面向所有人,无需邀请,无需审批步骤。安装Apple的TestFlight应用,打开公开链接,Beta版便会与其他应用一同安装。每个构建版本自发布之日起90天内有效;新构建版本会重置计时器,因此只要持续更新,Beta版即可一直运行。
自行构建——免费
该应用是由XcodeGen生成的单个Xcode项目。克隆项目后,运行xcodegen generate,然后可以直接从Xcode构建到自有设备,或生成Release .ipa文件,并使用AltStore或Sideloadly进行侧载。代码未混淆,也无需搭建服务器——你在TestFlight上看到的构建版本即为你所构建的版本。
使用免费的Apple ID签名,但签名有效期仅为七天,之后必须重新构建应用。付费Apple Developer账号可以消除这一时间限制。
购买——为节省时间
一次购买。无订阅、无应用内购买、无广告、无需账号,且像其他应用一样自动更新。你支付的费用是为了跳过上述两种途径——无需管理证书、无需重新构建、无需面对七天有效期——同时也为背后的开发工作买单。
Beta测试结束后,将在App Store上架。
无论选择哪种途径,应用首次启动时都会请求对照片的完全读写权限。由于只读权限无法执行删除操作,因此提示框必须请求读写权限。