做了一个 iOS 相册清理工具,不只是找重复图——也聊聊两次被苹果审核拒绝的经历
相册有 3 万多张照片,存储快满了。试了几款清理 App ,要么只能找重复图,要么扫出来一堆误判。干脆自己写一个。
结果写着写着功能越来越多,大概两个月后变成了现在这个样子:PhotoSweep。
App Store 链接: https://apps.apple.com/app/id6759631286 免费下载,优惠码 PHOTOSWEEP2026 可以免费用一个月 Pro 。
主要功能
智能扫描( 8 个分类)
一键扫描整个相册,分类找出:
- 精确重复 / 相似图片
- 模糊、失焦的照片(用 Vision 框架的 Laplacian 方差做的)
- 截图和屏幕录制
- 体积过大的文件
- 重复视频
- 按地理位置聚合的图片
SwipeTriage (滑动分拣)
类似 Tinder 的卡片界面——向右滑保留,向左滑删除。当你有几百张”也许要删”的照片时,这个效率比一张张看高多了。
EXIF 元数据查看器
选一张照片,马上看到完整 EXIF:相机型号、曝光、光圈、ISO 、GPS 坐标(带地图预览)。支持一键分享文本。
照片健康报告
给你整个相册打一个”健康分”,列出具体的问题(比如”截图占了 3.2GB”),有行动建议。
批量水印
上传前加文字水印,支持字体大小、位置、透明度,一次处理多张。
其他工具:截图拼接、网格切割( Instagram 九宫格)、照片/视频压缩、HEIC↔JPEG 转换、iCloud 诊断、存储分析。
全部本地处理,没有服务器,没有账号,没有广告。
技术栈
- Swift / SwiftUI ,iOS 17+
- Vision 框架做模糊检测( Laplacian 方差)
- CoreImage 做相似图哈希比对
- SwiftData 持久化,带 DB 损坏自动恢复
- BGProcessingTask 后台扫描 + 断点续传
- 37 种语言本地化( 478 个 key )
- 450 个测试( 422 单元 + 28 UI/E2E )
被苹果拒了两次,说一下经过
第一次:Guideline 2.5.1 ( HealthKit 权限残留)
早期有个功能想读 HealthKit 数据,后来放弃了。删掉了代码,也删掉了 .entitlements 文件里的条目,但忘了 Apple Developer Portal 的 App ID Capabilities 页面里还留着这个 capability 。苹果审核员发现了,拒了。
教训:entitlements 是三层的——代码层、.entitlements 文件、Portal App ID Capabilities ,三个地方必须同步。
第二次:Guideline 4.3(a)(与系统 App 功能重复)
审核员认为和系统自带的”照片”App 功能没有实质区别。我加了三个明显差异化的功能( EXIF 查看器、健康报告、批量水印),重写了 App Store 描述,重新做了 Onboarding 来在第一次启动时就展示差异化,才通过。
定价
- 免费:无限扫描,每次最多清理 20 张
- Pro 订阅:\(0.99/周 或 \)9.99/年,含 1 周免费试用
- 优惠码 PHOTOSWEEP2026:免费用 1 个月(兑换方式:App Store → 头像 → 兑换礼品卡或代码)

有问题欢迎在这里问,或者 App Store 评论。做独立开发比较孤独,认真的 Feedback 对我来说很有价值。
我的照片和视频比楼主还多。有几个问题: