赞助登录提交
博客

内存让 Mac 变贵了。我会这样处理我的 Mac 应用

作者 Justinas Rolando,MacPip 的开发者

简短回答

2026年11月2日,Apple 表示 12 月季度 Mac 和 iPad 的供应将受限,主要是因为内存,并预计之后内存价格还会继续上涨。Apple 已在 2026年6月25日上调了 Mac 价格,现价 US$699 的 MacBook Neo 配有 8 GB 内存,且不能选更大的。对 Mac 应用开发者来说,这意味着会有更多顾客使用 8 GB 的 Mac,以及用得更久的旧 Mac。在 8 GB 的 Mac 上测量你的应用内存,写明它需要什么,并让你的更新源不要把构建推给运行不了的 Mac。

周一,Apple 公布了 9 月季度的业绩,而我一直在想的并不是营收,而是内存。MacRumors 对电话会议的整理写道,Apple 预计 12 月季度 Mac 和 iPad 的供应会受限,“主要由内存导致”,并认为内存价格之后还会继续上涨。John Ternus 作为 CEO 的第一次电话会议上,把内存状况称为“前所未有”。

我不卖 RAM,你也不卖。但我们的应用所运行的 Mac 刚刚变贵了,最便宜的只有 8 GB。这对做 Mac 应用的人来说有几处变化。

实际发生了什么

Mac 应用开发者为什么该在意

由此得出两点,都不是预测,只是算术。

第一,会有更多新顾客用 8 GB 的 Mac。Neo 是最便宜的 Mac,而且内存之后不能加。如果你的应用一直是悄悄在 36 GB 的 MacBook Pro 上调校的,那它还从没遇到过自己最新的用户。

第二,当新 Mac 贵了 US$200 时,人们会继续用手头的 Mac。这意味着使用旧芯片和旧 macOS 版本的顾客会比平常年份多。你的最低 macOS 版本和更新源比往常更重要。

本周我会检查什么

这些是我自己的步骤,不是 Apple 的。

  1. 在 8 GB 上、同时开着其他应用来测你的应用。没人会单独运行你的应用。打开 Safari 和十几个标签页,再开一个聊天应用和你的应用,然后做你的应用里最吃资源的那件事。观察 Activity Monitor 里的 Memory 一列和底部的 Memory Pressure 图。黄色是警告,红色表示 macOS 吃力了。
  2. 拿到真实数字。在 Terminal 里,footprint YourApp 会打印你的应用实际用了多少内存,leaks YourApp 会查找你忘了释放的内存。在 Xcode 里,Debug navigator 中的内存仪表,以及 Allocations 和 Leaks 工具,能看出内存花在哪里。Apple 的减少应用内存占用指南有详细讲解。
  3. 认真查一查缓存。小型 Mac 应用里常见的问题有:永不收缩的图片缓存、明明用流就够却把整个文件读进内存、什么都永远保留的历史列表。给它们设上限。
  4. 本地 AI 模型要小心。如果你的应用要下载一个模型在 Mac 上运行,它的大小会和 8 GB 机器上的其他一切抢内存。提供一个更小的模型,或者直接写明大模型需要 16 GB。
  5. 写明你的应用需要什么。把最低内存和 macOS 版本写在你的网站和收录页面上。用 Neo 的顾客宁愿在购买前知道,而不是购买后。
  6. 别把更新推给运行不了的 Mac。如果你在 Mac App Store 之外用 Sparkle 分发,请在每个版本上设置 sparkle:minimumSystemVersion;从 Sparkle 2.9 开始,只支持 Apple silicon 的构建还可以设置 sparkle:hardwareRequirements 为 arm64。两者都写在 Sparkle 发布文档里。这样用旧 Mac 的人会停留在最后一个能用的版本,而不是收到一个打不开的新版本。
  7. 检查你的应用跑在什么上面。如果你无意中放弃了 Intel,通用二进制检查器会读取你的 lipo 输出并告诉你。

这些都不需要重写。我看过的大多数应用里都有一两个没人留意就长大的缓存,修好它们只要一个下午。

我不会做的事

除非我在这样的机器上测过,否则不会在上线帖子里写“针对 8 GB 优化”。我也不会因为 Apple 涨价就给自己的应用涨价。你的成本没变,预算更紧的人会注意到。如果你无论如何都在考虑调价,定价计算器可以把一次性买断价和订阅价在扣除手续费后做个比较。

MacPip 的角度

在 MacPip,收录页面在提交时会自动扫描,而蓝色对勾只表示有人在某一天试用过这个应用。两者都不测试内存,所以关于你的应用需要什么,诚实的答案得由你来给。不过小巧轻量的应用在这里本来就表现不错:看看菜单栏应用和效率应用。如果你为这个季节精打细算的人设了上线优惠价,它该放在优惠,并写上截止日期。

今天还有新东西:Sparkle appcast 检查器。粘贴你的 appcast.xml,它会逐个版本检查版本号、下载大小和签名、最低 macOS 版本以及硬件要求,并用大白话告诉你缺了什么。它在页面里运行,不会发送任何内容。如果你的 Mac 应用还不在 MacPip 上,收录是免费的。

来源

继续阅读

提交你的应用面向开发者的免费工具