惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
N
News and Events Feed by Topic
D
DataBreaches.Net
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
T
Tailwind CSS Blog
博客园_首页
Microsoft Azure Blog
Microsoft Azure Blog
Y
Y Combinator Blog
博客园 - Franky
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客
A
About on SuperTechFans
I
InfoQ
S
Securelist
Last Week in AI
Last Week in AI
S
Schneier on Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Hacker News: Ask HN
Hacker News: Ask HN
Schneier on Security
Schneier on Security
Know Your Adversary
Know Your Adversary
腾讯CDC
大猫的无限游戏
大猫的无限游戏
S
Security @ Cisco Blogs
博客园 - 三生石上(FineUI控件)
Simon Willison's Weblog
Simon Willison's Weblog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
美团技术团队
aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
罗磊的独立博客
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
S
Secure Thoughts
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Latest news
Latest news
Recent Announcements
Recent Announcements
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
LINUX DO - 热门话题
Security Latest
Security Latest
TaoSecurity Blog
TaoSecurity Blog
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
HEIF & HEVC 转换器 1.0 发布:压缩 iOS 照片库,释放存储空间 - 少数派
2025-04-20 · via 少数派

近期,我的新作品「HEIF & HEVC 转换器」已在 App Store 发布。这款 App 能够将 iPhone、iPad、Mac 相册中的照片和视频,转换为更高效的 HEIF/HEVC 格式,在尽可能减少画质损失的情况下,节省存储空间。

为庆祝 App 上架,在文章末尾,我将提供 20 个 App 兑换码。欢迎兑换并下载体验。

开发背景

2017 年发布的 iOS 11,增加了对 HEIF 和 HEVC 格式的支持,这两种新格式具有更高的压缩率,占用存储空间较少。新拍摄的照片和视频,默认都会保存为 HEIF 和 HEVC 格式。

我的 iOS 相册中,几乎保存了自己的所有照片,包括 2017 年之前拍摄的照片、其他人分享给我的照片,还有使用 Google 照片扫描仪扫描的老照片。这些照片大多是 JPEG 格式。

iOS 11 发布后,我一直想将这些照片转换为 HEIF 格式,减少空间占用,但一直没有找到合适的工具。所以我打算开发一款工具,实现这样的功能,但是一直没有开始动手。

由于 AI 编程工具的逐步普及,我觉得在 AI 的帮助下,自己能够更快地实现想要的功能。于是,我开始使用 Alex 等编程工具,进行了此项目的开发。

功能与特色

  • 支持批量转换整个照片图库,也可手动选择指定照片和视频进行处理
  • 兼容实况照片(Live Photo):图片部分转换为 HEIF 格式,视频部分转换为 HEVC 格式
  • 尽可能多地保留照片元数据,包括位置信息、收藏状态等
  • 转换后的照片,仍会放在原始相册,无需重新整理
  • 全程在本地转换,不联网,不泄漏隐私

转换效果

在默认设置下(JPEG 图片质量为 90%,PNG 图片质量为无损,视频质量为「高质量」),我尝试转换了照片库中的一部分照片和视频,共 20GB。转换后节省了 6.25GB 的空间:

媒体转换结果

查看具体的统计信息,可以看到 PNG 图片(一般是截图)的压缩率最好:953.1MB 的图片,压缩后只剩下 97.3MB。JPEG 照片也有着不错的压缩率,节省了接近一半的空间。对于视频,节省的空间较小,原来 7.12GB 的视频,压缩后还有 6.76GB:

按格式统计的转换结果

经过分析,在默认配置下,部分视频转换后会变小,部分视频转换后会变得更大,整体看还是能节省空间的。在当前版本中,我已经对 Live Photo 的视频部分进行了优化,如果转换后的大小大于原视频,则只转换照片部分,视频部分仍使用原始视频。后续版本,我将提供一个选项,用户可以选择是否保留转换后变得更大的视频。

提示与技巧

  1. 如果照片视频较多,想要分批转换,可以在转换一部分媒体后,直接点「取消转换」;已经转换的媒体仍可以保存到照片图库;
  2. 如果转换过程锁屏、关机,或任务切换,导致此 App 被杀后台,已转换的媒体不会丢失;只需重新打开 App,按照提示保存已转换媒体即可;
  3. 除了 iPhone 和 iPad,此 App 还支持 Apple Silicon Mac。在 Mac 上转换性能更好,而且 App 能长时间在保持在后台运行,持续转换;
  4. 推荐搭配 CleanMy®PhoneByePhotos 等 App,以及 iOS 相册中的「合并重复项目」功能使用。这些工具可以清理重复照片、模糊照片、屏幕截图等,而且能调整视频的分辨率和质量,进一步释放存储空间;
  5. 为了使 App 能够发挥其全部功能,建议打开 App 的网络权限,并允许完全访问照片图库(下文会解释这两个权限的具体作用);
  6. ⚠️ 转换完成后,原始媒体将被删除。为了确保数据安全,使用前请先完整备份照片图库。

由于照片和视频的转换,涉及较多细节处理。开发者不能保证所有媒体都能成功转换。如果发现有无法转换的媒体,或者转换后出现色彩错误等问题,请与我邮件反馈(feedback at blanboom.org),并在邮件中附上有问题的照片或视频。

常见问题

为什么 App 需要网络权限?

如果打开了 iCloud 照片的「优化存储空间」,App 在获取照片和视频的原始文件时,需要从 iCloud 下载,从而触发了 iOS 请求网络权限。

具体来讲,在扫描阶段,由于不同格式的视频,可能会有相同的扩展名,例如 .mov,所以无法根据扩展名判断视频格式。App 需要获取视频的更多元数据,这个过程触发了 iCloud 下载。

在转换阶段,对于所有的待转换媒体,App 都会从 iCloud 获取原始文件。

除此之外,App 不会与其他第三方服务器通信。

为什么建议允许 App 完全访问照片图库?

此 App 会在保存照片和视频的过程中,获取其所在的相册。转换后的照片,也会放在原有的相册中。

由于 iOS 的限制,如果只允许访问部分照片,则 App 无法获取到媒体所属的相册信息,导致转换后的媒体,无法放回到相册中。

HEIF/HEVC 格式的兼容性如何?是否存在与其他 App 或设备不兼容的情况?

简单来说,如果你在 2017 年之后使用 iOS 拍照,且没有遇到不方便的地方(例如照片发送给别人后无法打开、第三方 App 和设备无法识别照片等),那就不需要担心兼容性问题。

2017 年发布的 iOS 17,会将照片和视频默认保存为 HEIF/HEVC 格式。而且 iOS 做了不少兼容性处理,例如分享照片时,会根据情况自动转换回 JPEG 格式。这保证了用户基本感受不到兼容性问题。

不过,当时仍有一部分 App 和设备,例如 Google Photos,以及群晖 NAS,对 HEIF 格式的不是很完善。不过在后续的几年里,这些 App 大多都陆续完善了对 HEIF 格式的支持。

当前版本已知缺陷

  1. 当转换大量照片时,转换速度会越来越慢(已在 1.2 版本中修复);
  2. 暂不支持 HDR Gain Map:在转换 iOS 14.1 及以上版本拍摄的,带有 HDR Gain Map 的 JPEG 照片后,HDR 效果会丢失。由于 iOS 11 之后的版本,照片已经默认保存为 HEIF 格式,此问题不会影响大部分用户(已在 1.3 版本中修复)。

关于 AI 编程

先说结论:App 超过 90% 的代码都来自 AI,但开发过程并没有想象中简单

先说结论,「HEIF & HEVC 转换器」的共有 21 个 swift 文件,5808 行代码,其中 90% 以上的代码都是 AI 生成的。包括 App 的图标,也是 AI 创作的。

blanboom@blanboom-studio ~/W/ConvertToHEIFHEVC (develop)> cloc .
      43 text files.
      34 unique files.
      53 files ignored.

github.com/AlDanial/cloc v 2.04  T=0.03 s (1274.5 files/s, 285252.9 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Swift                           21            954            416           5808
JSON                             5              0              0            156
Markdown                         3             18              0            144
XML                              5              0              0            114
-------------------------------------------------------------------------------
SUM:                            34            972            416           6222
-------------------------------------------------------------------------------

但是,开发 App 的过程,并没有像《我用 Cursor 半小时制作了一个网站》、《我用 Cursor 两小时开发了一个 App》之类的文章所说的那样简单。目前的 AI 辅助编程工具,还无法做到提一个需求,就生成一个复杂的 App。

我需要将需求细分成小的功能点,让 AI 针对单一功能点生成代码,解决编译错误,运行和调试,然后继续下一个功能点的开发。

回顾了一下 git log,从 2024 年 12 月首次提交代码,到 App 发布,一共花了四个月的时间。我主要利用每周末的空闲时间进行开发,每周大约投入四小时左右。

Git Commit 日志

Cursor 与 Windsurf 初体验

最初体会到 AI 辅助编程的便利,是在为 AirTerminal 增加 Telnet 服务器功能 时、的时候。当时我还没有使用专门的 AI 编程工具,只是通过与 ChatGPT 的几轮对话,就成功实现了功能,包括界面和具体逻辑。

在开发「HEIF & HEVC 转换器」初期,我尝试了 Cursor 和 Windsurf。两款工具的体验基本类似,由于 Windsurf 更便宜,我选择了为 Windsurf 付费,并顺利完成了 App 最初的照片转换功能。

但随着项目复杂度增加,这两款工具为了节省上下文长度,经常只给 AI 提供代码的一小部分,而非完整文件,导致生成的代码频繁出现问题和编译错误。

改用 Alex

后来,我了解到 Alex,这款工具可以直接集成到 Xcode 中,避免了频繁在 Xcode 和其他编辑器之间来回切换的麻烦,更重要的是,Alex 会尽可能向 AI 提供完整的源文件,使得生成代码的编译通过率和实际可用性都明显提高。

期间,我也试用了 ClineRoo Code,它们虽然也能提供完整的文件上下文,但必须使用自己的 API Key,按使用量付费,长期使用成本较高。我在配合 OpenRouter 上的 Claude 3.5 Sonnet API 使用一晚上后,就发现已经用掉了 10 美元。即使切换到更便宜的 DeepSeek V3,仍会花费较多费用。

此外 Cline 和 Roo Code 具有更高级的自动化功能,例如执行终端命令,获取 Git 的 commit 日志,或者自动编译并修复编译错误等。但实际体验发现,如果完全放任 AI 自动操作,不进行人工干预,修改后的代码往往会偏离最初的需求。

因此,我最终还是选择了与 Xcode 集成更紧密的 Alex。

使用 AI 编程的经验

在使用 Cursor 等 AI 编程工具,从零开始开发一个新项目时,我相信大部分人都会和我一样,都会惊叹于 AI 编程带来的神奇体验:只需简单几轮对话,就能生成一个可用的 demo,并成功运行。这很容易让人产生一种错误:AI 编程原来如此轻松。

然而,当项目复杂度逐渐提升,这种轻松感就会慢慢消退。此时,我开始尝试一些额外的技巧,让 AI 持续稳定地辅助自己编程:

  1. 首先,我需要对功能点继续细分,让 AI 更准确地理解需求,一次只完成一个小功能。有时候我想偷一下懒,一次让 AI 完成两三个功能,生成的代码往往就不能很好地工作了;
  2. 当一个文件变大后,我开始尝试对文件进行拆分,避免单个文件过大;
  3. 项目文件变多后,我开始为项目增加 .cursorrules.windsurfrules.clinerules 等文件,在其中描述项目的代码结构,和每个文件的功能。这有助于让 AI 更容易找到需要的文件。

当项目变得更加复杂,即使用了上述技巧,并从 Windsurf 换成 Cursor,AI 也不能很好地工作了。这时候,我需要进一步熟悉和理解项目代码结构,在提问时,找出关键代码并进行解释。通过这样的方式,AI 仍然可以逐步实现自己需要的功能。

在项目调试和解决复杂问题时,我经常使用的一种方法,是让 AI 生成详细的日志,再将运行结果和日志反馈给 AI。反复几轮对话后,一般都能成功解决问题。

对于模型的选择,我优先使用的是 Claude 3.5 Sonnet,在编程方面有着不错的效果。后来推出的的 Claude 3.7 Sonnet 整体用下来,没有 3.5 效果好,但更适合进行图形化界面方面的任务。所以在项目后期,我主要用 Claude 3.7 Sonnet 优化界面。

总结与个人感受

目前我从事网络协议方面的开发,主要使用 C 语言开发 Linux Kernel 中的网络协议栈,以及在 Linux 用户态实现路由协议。所以完成这个 App 的过程,完全无法用到自己的工作经验。

我的 iOS 开发知识,主要来自 Stanford CS193p iOS 开发公开课,以及开发 HackerRemoteAirTerminal 这两个简单 App 时的一些积累。整体上讲,我对 iOS 开发谈不上熟练。

这些 AI 编程工具,并没有让我实现「提出需求、自动制作完整的 App」。但是,它们却能让我这个非专业 iOS 开发者降低开发一款新 App 的心理压力,并立刻行动起来,利用自己的有限时间,将想法一步步变为现实。

兑换码

  • FHRNLM43XFXY
  • 4ETJKLT6KTET
  • FTLPNMRLEPF3
  • TMPEMTPM9EFJ
  • 4XPWP7FPEWWK
  • RL9NXNAXENYW
  • 46HY4RAWMME3
  • LE7RX36L3JLJ
  • MM9PLXANWENW
  • RF6RH9FTWYFN
  • RXYMHWWHTX36
  • M6R6HM9FF9FP
  • YKNKKWNWKH76
  • A3MJLFYH6MWJ
  • E7HRXY33EMPK
  • WMEYRK7ENHLH
  • TET9AWRHNNEL
  • 6YHEK3HAF947
  • 9K9K3PKXAKR4
  • RFPH4H9E6NAY

可在浏览器中打开此链接,输入兑换码进行兑换: