一、一百八十五条
从 2026 年 3 月 21 日到 10 月 4 日,我在跟 AI 的对话里骂了 Apple 一百八十五次,分属一百一十三件事。
数法是这样的。先从全部对话记录里取出我说过的、带粗话的消息,共 4020 条;其中提到 Apple 相关对象的有 347 条;再逐条人工判断。计入的条件只有一个:怒气指向 Apple、Apple 的产品、它的工程师或它的设计。骂 AI 的不算;骂 Homebrew、AeroSpace、银行这些第三方的不算;只把「他妈」当语气词的中性句子不算;惊叹 Apple 做得好的不算;同一句话打错后重打的,只算一次。
计数单位有两个。我发出的一条消息算一条;同一个对话里由同一个问题引起的一串消息算一件事。件数更接近我被 Apple 惹毛的次数,条数会被一件事里的连续骂街放大。
按起因,这一百八十五条分成三类。
- 控制权:Apple 主动阻止我对自己的设备、自己的软件做某件事,或者拒绝开放某种能力。权限系统与 TCC、sandbox、SIP、签名、公证、开发者账号、侧载、下载文件的隔离属性、Apple Events 授权、默认应用确认框、iPhone Mirroring 拒绝连接、本地网络权限、设备名 API、开机清空的服务禁用设置、没有公开 API 的 Spaces、App Store 的生态锁定,都在这一类。
- 质量与稳定性:东西坏了、慢了、升级以后出了问题。系统 bug、性能、磁盘空间、iCloud 同步、升级后失效的 Screen Sharing、macOS 27 的玻璃效果带来的卡顿。
- 设计与易用性:东西没坏,但做得蠢或者难用。Xcode、xcodebuild 的输出、Console.app、UTI、AppleDouble 与 .DS_Store、不能改语言的 Map.app、Apple Music、快捷指令、Apple Watch 的表带。
边界上的几处判断:Touch ID 要失败几次才给密码框,归控制权,因为系统替我做了一个我推翻不了的决定;Map.app 不能单独设语言,归设计,因为它更像疏忽而不是策略;Screen Sharing 每次把修饰键设置重置掉,归质量,而这个设置根本无法自动化,归控制权。
结果如下:
| 类别 | 条数 | 占比 | 件数 | 占比 |
|---|---|---|---|---|
| 控制权 | 60 | 32.4% | 34 | 30.1% |
| 质量与稳定性 | 62 | 33.5% | 39 | 34.5% |
| 设计与易用性 | 61 | 33.0% | 38 | 33.6% |
| 其他 | 2 | 1.1% | 2 | 1.8% |
| 合计 | 185 | 113 |
表中的其他,是两条骂 Apple Intelligence 在中国不能用的。
三类几乎各占三分之一。按条数,三类之间只差一两条;按件数,控制权比另外两类少四五件。无论用哪个单位,控制权都不是我骂得最多的一类,严格说它还是最少的一类。
次数之外,还有强度和后果。
先看强度。含「操死、草死、操你妈、操他妈、该死、吃屎」这一级粗话的消息共 48 条,控制权 21 条,设计 15 条,质量 12 条。控制权的六十条里,大约每三条就有一条到了这一级;质量的六十二条里,大约五条才有一条。
再看后果。我说过要离开 Apple 的话一共 9 次,其中 7 次出自控制权:iPhone Mirroring 那一夜和第二天 5 次,iOS 侧载 1 次,密码自动填充的生态锁定 1 次。剩下 2 次,设计与质量各一,都是开发卡住时的气话,一句是「老子不想做 macOS 开发了,恶心死了!」,一句是「我他妈真是越做 macOS 开发越觉得 Apple 极其弱智越想逃回 Linux」。真正做出的决定有两次:8 月 12 日晚上的「绝不会再花一分钱买 Apple 的硬件」,8 月 28 日的「下一个计算设备绝对不会他妈再买傻逼 Apple 的东西」。两次都出自控制权。
次数是平均的,后果是集中的。质量问题让我骂,控制权问题让我走。
按月看还有一条线。8 月是控制权的高峰,18 条,同月质量 8 条、设计 9 条;那个月里有 iPhone Mirroring、iOS 侧载和本地网络权限。9 月翻了过来,质量 23 条,是八个月里单类最高的一个月,起因是升级 macOS 27 之后的各种退化、后台进程空转和 iCloud 同步。9 月下旬我自己写出了 Declara,扔掉了系统的 Spaces,正落在质量问题最密集的那个月里。
下面按类别展开。先说控制权,因为账单最贵的是它。
二、我的设备,我他妈没有权限
8 月 12 日晚上 23:20:
我操死 Apple 他妈!为什么他妈 iPhone 又他妈莫名其妙放在无线充电底座上就他妈永远不会自动锁屏?为什么他妈 iPhone Mirroring 不能连接未锁屏的手机?老子自己的手机你他妈凭什么不让老子连接?我操死你妈!
四分钟后,我补了一句:
而且 iPhone 这个不锁屏的问题他妈之前就不存在,完全同样的充电底座。是最近不知道什么时候他妈莫名其妙冒出来了,老子刚才还特地去检查了设置,是 3 分钟自动锁定也他妈没有充电时不自动这种选项
两件事叠在一起。手机放上无线充电底座就不再自动锁屏,这是一个 bug;iPhone Mirroring 拒绝连接一台没锁屏的手机,这是一条规则。我买的手机、我买的电脑、我买的充电底座,三样东西凑在一起,把我锁在了门外。
后来一位朋友来问细节,我这样解释为什么这件事是个麻烦:
是 iPhone Mirroring 拒绝连接没有锁屏的手机,哪怕这个手机登录了跟电脑完全一致的 Apple ID 并且此前也授权过连接。没自动锁屏是因为手机放到无线充电底座上之后不知为何就是不自动锁屏了,设置里明明是指的 3 分钟锁。两个问题加在一起就把人恶心死。为什么这是一个麻烦?因为从室外回来/刚洗完澡/刚洗完手手机没擦洁癖不想去碰。何况 iPhone Mirroring 这个行为本来就完全不合理,我自己的手机它凭什么不让我连接?是它 Apple 工程师还是我自己更清楚我电脑我手机是否安全?
回到 8 月 12 日那天晚上,23:21 和 23:22:
Apple 就是他妈一群弱智我操死他妈!老子自己的设备自己的手机电脑还他妈没权限!
我操死他妈老子再也不会花一分钱买 Apple 硬件,我操死他妈!!!!
23:30,我写下了发在朋友圈的那段:
绝不会再花一分钱买 Apple 的硬件。老子他妈真是要被气疯了。
自己买的硬件没有完全控制权,自己开发的软件自己运行一堆限制,分发给别人更他妈一堆限制,不然就要付费买开发者账号还他妈要看 Apple 脸色。你他妈哪来的权力?
内置软件也他妈一堆弱智设计,iPhone Mirroring 不能连接自己的手机,原因是手机没锁屏。老子自己的手机你他妈凭什么不让老子连接?我操死你妈!
「你他妈哪来的权力」,这是整份档案的核心问句。后面的章节都在回答它。
Touch ID,8 月 9 日:
我觉得 Apple 的 Touch ID 有个很弱智的设计,无论是在手机还是电脑上,你都她妈没法立即选择不用指纹而是直接输入密码,非得在失败几次之后才弹出密码选项。我他妈手指情况很不稳定经常失败,但我又不想因此完全关闭指纹因为有时确实指纹更方便。
我知道这次指纹不会成功,Apple 不允许我知道。我必须先失败几次,证明给系统看,然后才有资格输入密码。
8 月 13 日,凌晨和傍晚各一次。凌晨那次,我发现 Surge 自动生成的 hostname 是 Tailnet macOS,原因是 iOS 16 之后 Apple 收紧了设备名 API,普通 app 拿不到用户自己设置的设备名。我只回了一句:
操死 Apple!!!!!
这个限制拦不住真想做设备指纹的广告公司,他们早有别的办法。它拦住的是 Surge 这样的小团队。成本永远落在守规矩的那一边。
傍晚那次是本地网络权限:
我操死傻逼 Apple 他妈!!!!!老子能访问 Tailscale 不能访问 LAN,真他妈弱智到极点!
一台电脑可以访问 Tailscale 上的节点,不能访问同一个局域网里的机器。
更早的 4 月 5 日,我问过这样两个问题:
是否有办法禁止 macOS 给下载的文件添加那个傻逼的隔离属性?
再告诉我一些关于 Apple 的弱智设计的关闭方式,包括那一整套模仿 iOS 的权限系统是否也可以关闭?
注意「模仿 iOS」这四个字。一个为专业用户设计的操作系统,正被一点一点改造成一台不能越狱的大号 iPad。
8 月 25 日,讨论 Linux 的 sysfs 时,我说:
我他妈喜欢信任 root 这种立场,又他妈想操死傻逼 Apple!
说的是 SIP。到了 9 月,SIP 从一个立场问题变成了日常问题。9 月 23 日:
macOS 的 SIP 到底他妈有什么用?我感觉他妈从来没体验到过好处但是他妈总是在意想不到的地方被拦住被恶心
TCC 数据库可写他妈对我来说不是好事吗?我他妈可以自己写个工具去批量授权,那个弹窗他妈恶心死了
9 月 26 日,我发现自己禁用掉的 Spotlight、Siri 相关后台服务,重启以后禁用设置全部被清空。原因是 SIP 开着的时候,macOS 每次开机都会清掉 Apple 自家服务的禁用设置,只有白名单里的例外。我关掉的东西,系统每次开机替我重新打开。
Spotlight禁用文件系统搜索确实有时候有点不方便,但是他妈为了偶尔一两次搜索忍受这些傻逼东西整天占老子CPU,我他妈简直要疯了。
老子想操死 Apple 所有傻逼的妈!
我他妈直接去关 SIP,傻逼 Apple 操死他妈!
10 月 2 日,同一件事还没完:
这个 spotlight我就是他妈不想要它,还必须得跑。
9 月 10 日,我想进 Time Machine 旧备份里自己的主目录:
我操他妈这个傻逼 macOS,我自己的用户主目录我他妈在 Finder 里面进不去,简直他妈一群弱智。
快照目录带一条拒绝访问的 ACL,Finder 又在上面叠了一层 TCC。同一个目录,shell 反而读得了。我自己的文件,我自己的备份,图形界面不让我看。
三、我写的代码,我他妈也没有权限
3 月 30 日:
他妈真是神经病,我操死他妈,我是开发者我开发期间执行脚本他给我套一个 sandbox 拦我路,简直他妈弱智
4 月 4 日,我在终端里运行 Veil 自己的 CLI binary,向正在运行的 Veil 发 Apple Events,macOS 要求我给终端授权:
太他妈恶心了,我运行的不是我自己的 binary 吗?这个 macOS 这么能这么弱智???
macOS 也是一个弱智设计的傻逼系统。在终端软件里运行一个特定 app 自己的 binary 给该 app 运行中的实例发 Apple Events 消息,居然他妈要求用户授权给终端软件。这他妈跟终端软件有卵关系啊?
我写的程序 A,给我自己正在运行的程序 A 发消息,因为 A 是从终端里启动的,macOS 就要我授权给终端。权限模型把启动进程的一方当成了发消息的一方,账记错了人头,然后要我为这笔错账负责。
5 月 8 日,签名和公证:
卧槽他妈,这一堆都是什么傻逼问题?首先到底什么他妈的叫 notarization?我根本没用有效的开发者账号签名,跟这个有没有关系?hardened runtime 又他妈是什么东西?
八分钟后,同一句话我连发了三遍,第三遍才打对:
把刚才这个傻逼问题记住,以后他妈永远也别提 Apple 这一堆傻逼签名机制相关的问题
5 月 9 日,Veil 的 CLI 直接 fork 启动 Veil.app,macOS 14 之后的激活策略把它当成后台进程,不许它自己到前台,于是出错时的提示窗口根本看不见:
啊,我他妈,太极吧恶心了,这个傻逼的 macOS
5 月 17 日:
我他妈还第一次知道如果不做 codesign 连设定的 bundle identifier 都没法用,这什么鸡巴卵奇葩设定
4 月 29 日,给紫霞输入法做分发:
install.sh 的问题是对于不熟悉命令行的用户他妈连这个 install.sh 如何执行都不知道,也容易弄错目录,更重要的是需要先对其进行 xattr 操作才能执行
我他妈没有,而且我说得很清楚,一个 GPLv3 发布的软件我不可能为用户去付费注册开发者账号
这一条是整份档案里最不像骂街、分量却最重的一条。紫霞输入法用 GPLv3 发布,源码全部公开,任何人都可以审计。Apple 的回答是:不付费注册开发者账号,这个软件在用户机器上就要被当成来路不明的东西对待,用户得先对它执行 xattr 才能运行。
一个把源代码完整交给你的人,和一个付了开发者账号费用的人,Apple 信任后者。
7 月 29 日,我也承认过这套机制的来由:
这他妈最大的问题都是被垃圾软件逼出来的。现在的签名机制,这导致整个软件行业都变得极其不自由
起因可以理解,代价由谁付是另一回事。
iOS 上更彻底。8 月 10 日:
自己做主要问题在于 iOS app 很麻烦,我没有开发者账号,部署就很恶心,7 天必须 refresh 一次。
我给自己写的 app,装在我自己的手机上,七天后就不能用,除非重新签一次。8 月 28 日,我研究 SideStore 和 LiveContainer,发现 iOS 26.4 把它们的刷新机制也弄坏了。十一分钟里三条:
我他妈又要操死 Apple 他妈!!!
我他妈死也不会为了这种事给 Apple 钱,为了运行自己的软件还他妈要给他钱,操死他妈还差不多!
太他妈傻逼了,老子不想搞了。操死 Apple 他妈,反正下一个计算设备绝对不会他妈再买傻逼 Apple 的东西
同一天下午早些时候,在挑密码管理器时,我已经说过一次。KeePassXC 这类开源方案在 Apple 的生态里很不好用,因为很多第三方软件不支持 iOS 的密码自动填充接口:
而且另一个问题是,我有可能会在几年之后完全离开 Apple 生态,我他妈到时候就用 Linux 和 Windows 了,和 Android 的手机了。
四、Make Default:一出完整的荒谬剧
5 月 10 日,我为 Veil 这个 Neovim GUI 做一个 Make Default 菜单项,让用户主动把它设为默认编辑器。新 API 对每个 UTI 弹一次确认框,Veil 要支持大约 75 个 UTI,就是大约 75 次弹窗。从晚上九点骂到十一点。原话,一条不改:
我草他妈,现在这个实现简直要疯了,我点了之后会有个 Finder 确认对话框对几乎每个文件扩展名询问到底用 Veil 还是保持其他例如 MacVimd
肯定改 A,我草死 Apple 他妈!
哎,我操死 Apple 他妈,一个简单的默认编辑器功能他妈做了半天遇到各种 Apple 的弱智问题
妈的太他妈傻逼了!你知道为什么我要做这个功能吗?我他妈就是不想像 VimR 那样霸道强行把自己注册为一大堆文件的默认编辑器,结果他妈 Apple 设计这一套傻逼机制逼得必须这么干???
操死 Apple 他妈!!!老子决定来更狠的,build 两个 app bundle,用户自己选
当晚我把整件事写成了一条推文:
又是被 Apple 的弱智设计气死的一天。
为了不像某些软件那么霸道,Veil 一直没有把自己声明为文本文件默认编辑器。但这对我这样的重度用户来说确实不方便,所以打算实现一个 Make Default 的功能,让用户通过菜单触发主动把 Veil 设置为默认编辑器。
然后问题就来了:
无论采用什么 API,在今年 3 月以后,macOS 都不允许 app 静默地把自己设置为特定文件类型的默认编辑器,必须要弹出一个 Finder 的提示窗口让用户确认。这个设计对于普通软件比较合理,但对于 Veil 这种需要支持大量文本格式扩展名的通用工具完全是灾难——用户需要一次性进行数十个确认操作!
唯一被 Apple 支持的做法是 app 在自己的 Info.plist 里批量声明自己为某些文件类型的 Default 应用,但具体是否生效,取决于 macOS 系统组件的决策,通常是有同样声明的 app 谁先安装谁就成为默认应用----看起来很合理,但这正是我们想要避免的霸道行为。
这意味着 Apple 为了避免 app 静默抢默认应用地位的设计,反而导致了 app 无法实现礼貌的,允许用户批量选择的行为----要么完全不能成为默认应用,要么只能被迫通过 Info.plist 的声明去霸道地抢占默认应用。在这个过程中 app 和用户都没有选择的权利,只能 all or nothing。
@Apple 我操你妈!
这段话应该裱起来挂在 Cupertino 的会议室墙上。它是一个完整的反例:一个以保护用户为名的机制,最终消灭了礼貌地征求用户意见这个选项,只留下霸占和不做两条路。想做好人的开发者被逼成坏人,用户失去了批量选择的能力,而真想劫持默认应用的流氓软件,在 Info.plist 里声明一遍就完事了。
这个机制唯一有效打击的对象,是那些试图尊重用户的人。
最后的做法是 build 两个 app bundle,让用户自己选。那天的最后一句:
麻痹的,你说的对,我现在该去玩游戏消消气,一整体都浪费在 Apple 这些傻逼问题上了。
五、Xcode:一个弱智设计出来给疯子用的傻逼软件
控制权说完了,下面是另外三分之二。它们骂得一样多,有时一样狠。
这一节的标题出自我 4 月 4 日的原话。那天在找 Xcode 里一个依赖的 URL:
Xcode 的依赖管理做得太他妈烂了,我到底在哪里能看到这个依赖的 URL?我找了半天找不出来。
我真想操死苹果这些傻逼的工程师,我操他妈。
我们应该这么说:Xcode 是一个弱智设计出来给疯子用的傻逼软件
更早的 3 月 23 日,Console.app:
这个 Console.app 做得也太傻逼了,我感觉 Apple 内部根本没有人真正用过它。搜索框居然是大小,它明明支持多个并列条件,但两个条件就根本看不到
「我感觉 Apple 内部根本没有人真正用过它」,这一句可以当作设计与易用性这一类的总结。
3 月 30 日:
啊卧槽太傻逼了,Apple 的开发者工具团队怎么这么啥比
4 月 9 日,为了把 git 版本号嵌进 build,结果每次本地 build 都把 worktree 弄脏:
Xcode 的 build 机制让我觉得好恶心,其他语言肯定没有这么傻逼的问题
老子不想做 macOS 开发了,恶心死了!
最后整个 revert 掉,我要求 commit message 里写上 Fuck Apple。AI 把它删了,我问:
你为什么把最重要的 Fuck Apple 去掉了?
5 月 1 日,xcodebuild 的 destination:
操他妈,Apple 工程师为何他妈能这么弱智?我每次 build看到的都是这样三个条目,我他妈当然觉得自然是 universal 的,结果他妈上面还有一句 only first!
{ platform:macOS, arch:arm64, id:00006000-001C24643E89801E, name:My Mac }{ platform:macOS, arch:x86_64, id:00006000-001C24643E89801E, name:My Mac }{ platform:macOS, name:Any Mac }
列出 arm64、x86_64、Any Mac 三个 destination,然后只用第一个。不问,不报错,不失败,安安静静地 build 出一个你以为是 universal、实际上不是的东西。
5 月 6 日,测试输出:
问题是这个东西是它原始完整的输出吗?完全他妈没有一个 summary 结论
5 月 9 日:
我他妈真是越做 macOS 开发越觉得 Apple 极其弱智越想逃回 Linux
6 月 16 日和 17 日,做一个导入 Photos 的工具,Photos 没有任何能在导入前查重的 API:
太他妈恶心,老子每次做 Apple 平台的开发都会被一堆傻逼问题恶心死
太他妈傻逼了,老子又想操死 Apple 所有工程师的妈
「不想做 macOS 开发了」和「越想逃回 Linux」,就是九句要离开的话里不属于控制权的那两句。它们是开发卡住时的气话,没有变成决定。
六、日常的凌迟
上一节是开发者才会遇到的。这一节是每一个用 Mac 和 iPhone 的人都可能撞上的。
稳定性。 3 月 27 日:
卧槽他妈 macOS 现在怎么这么烂了,以前几个月不重启也没任何问题
5 月 1 日,一条我认为杀伤力最大的对比:
这真的很傻逼,我印象中 10 多年前 Linux 上用机械硬盘 git 对大 repo 进行 rebase 等操作都快得不真实,现在我用着他妈最新的 Apple 高级硬件反而所有应用的性能操作感觉不如当年的 Linux,太傻逼了。
Screen Sharing。 4 月 27 日,连本机和别的 MBP 都提示密码不对,之前一直正常:
我他妈一直用的 macOS 内置的 Screen Sharing app!别他妈废话了,绝对是最近的系统升级搞出来的问题,去给我调查
5 月 10 日,结局比问题本身更荒谬:
我擦他妈,我服了,老子重新改了一次 15 机器上的账号密码,密码完全相等没有任何变化,但 26 那边连接过来就正常了。操死傻逼的 Apple!
把密码改成它本来的样子,就好了。
升级后的第一次重启。 8 月 11 日:
macOS 跟他妈弱智一样,每次系统升级后第一次重启必然会有各种乱七八糟的问题,包括 ssh key 不自动解锁等。必须要再重启一次才正常。
这类问题落在多个团队的组件之间的时序缝隙里。每个团队查下来都会认定自己的组件行为符合预期,于是它没有主人,一直留着。
磁盘空间。 8 月 22 日:
这他妈傻逼 macOS 不知道整天在干啥,我刚刚腾出 20GB 空间又他妈瞬间没了
好了,我操死他妈,一重启就恢复了 44GB 空间。Apple 工程师都她妈吃屎长大的
8 月 25 日:
macOS 真的他妈很傻比,我前一段时间已经清理到有 70GB 空间的,用得很爽,没几天又他妈全部耗尽了,我都不知道去哪儿了
SMS。 7 月 28 日,发一个链接被转成文件,发送失败;对方不是 iPhone,图片也发不了:
我操死 Apple!他妈我用 SMS 发一个链接它也他妈帮我转成一个文件发送结果失败
我现在想操死所有人!他妈用这种模式发了两次她都说没收到,肯定他妈是被 Apple 或者运营商当垃圾短信过滤了!
十一年的 deprecated。 7 月 30 日:
我日了,你是说我从 11 年前起就在用一个 deprecated 的 API?我他妈简直要疯了。我在网上看到的全都是 load unload,那个时候就是。而且我直到现在都从来没有见过 macOS 提示我这个东西是 deprecated 的。
launchctl load 和 unload。网上的教程都在教,系统从来不提示,Apple 悄悄标记为废弃,然后等着你某天发现自己活在过去。
语言。 8 月 11 日:
问题是他妈陈绮贞这些歌和她的名字在 iOS 上显示都是中文,在 macOS 上就他妈一直英文
8 月 25 日,Map.app。系统设置里可以给单个 app 指定语言,偏偏不能选 Map.app,而它的英文地名是错的:
macOS 上的 Map.app 为什么他妈不能改语言?这个傻逼问题也是恶心了老子十多年
十多年。
AFP 的图标。 8 月 25 日:
他妈有一个很傻逼的事情。以前 AFP 协议的时代,你如果通过 Samba 连一台网络机器,在 Apple 的、在 macOS 的 Finder 里面,它图标会显示成一个比较难看的形象。然后如果你连接的是 Apple 的机器,它是用 AFP 协议的连接嘛,那他妈图标就会变成一个漂亮的 Apple 图像。现在他自己废除 AFP 些以后,他妈不管哪个,看起来都是一样的图标了,我操死他妈。
我不想搞这个,只是他妈看到一个机会就必须骂死傻逼 Apple
用图标的美丑区别对待自家协议和别人的协议,这是赤裸裸的生态歧视。然后它自己把 AFP 废了。歧视没了,因为被歧视的对象和歧视者一起死了。
AppleDouble。 macOS 的 tar、zip 和 SMB 写入,到处留下 ._ 文件和 .DS_Store。8 月 25 日:
恶心!我草死 Apple 他妈!!!!!
9 月 4 日,这些文件为之服务的那个年代:
谁他妈还会用 Mac OS 9 这种古董系统?老子简直要疯了。
iCloud Drive。 9 月 6 日:
macOS 真他妈做得机器弱智,iCloud Drive 上的文件你要删除,必须得他妈先把它下载到本地,我他妈为了删除一个 29GB 的视频必须先下载这么多数据,简直弱智
Time Machine 快照。 挂载快照的命令参数含糊,删除快照卡住几十秒没有任何进度,而同样的操作在 ZFS 和 btrfs 上是秒返回。9 月 22 日和 23 日:
我他妈又想他妈这傻逼Apple做的东西真他妈烂。
立刻个毛,他妈卡了半天都没动,Apple工具真的做得跟屎一样。
Apple Music。 9 月 25 日,不识别 ID3,却给每个 track 配上不同的封面:
他妈这个 Apple Music 真的很傻逼,我操。它不识别那个 ID3 info,但是它妈又装模作样识别出了一些专辑封面出来。每一个 track 的封面都他妈不一样,笑死老子。
真他妈弱智,我决定不再使用 Apple Music 了,音乐还是他妈自己本地管理最好。
设计上的毛病让我扔掉一个 app。扔掉整个 Apple,需要的是别的东西。
Apple Watch。 9 月 29 日,准备发朋友圈的一段:
终于想明白为什么我买了 Apple Watch 几乎从来不戴了。因为他妈戴在手腕上正确的位置正好就他妈卡在 MacBook TouchPad 旁边的金属面与手腕之间。你还怎么他妈用电脑,随时随地都他妈觉得手腕被一个异物烙得恶心。
同一家公司的两件产品,戴上一件,就用不好另一件。
快捷指令。 10 月 4 日,用快捷指令导出睡眠数据。文档里的选项在 iOS 27 上找不到,导出来的文件是空的:
再次确认了,Apple 的「快捷方式」也他妈是一个傻逼设计出来给弱智用,结果无论弱智还是普通人都他妈没法用的傻逼工具。
老子真是被恶心疯了,我操他妈数据终于出来了你看一眼。
七、macOS 27,以及我自己写的 Spaces
9 月是质量的月份。
9 月 26 日,那时我已经升级到 macOS 27,这一天几乎每隔几个小时就有一件新的事。
清晨,从锁屏回到自己的账号,一堆后台进程开始空转,audiomxd 单独空转了四个小时:
我他妈就觉得 Apple 这些软件真的极其弱智,简直他妈就是一群弱智做出来的。为什么他妈我登录他需要把一堆什么 BackgroundShortcutRunner 之类的东西运行一遍?这他妈有什么意义?而且他妈还消耗很高 CPU 不知道他妈在做什么弱智的操作
我觉得 Apple 这些傻逼绝对是故意把软件做得他妈这么弱智来消耗过剩的硬件性能制造性能焦虑逼你买新硬件
后一句把一个质量问题读成了一项策略。
上午,升级丢了数据:
你现在查不到其余App是因为他妈升级 macOS 27把老子这个信息全部搞丢了,这帮傻逼 Apple 工程师老子又他妈想操死他们所有人的妈
下午,系统设置里的 Accessibility 换了地方,快捷键也开始莫名其妙地失灵:
我操他妈,老子又疯了,macOS 27把这个Security下面的Accessibility去掉了,我操。我现在不知道哪里去找了。
显然不是 Raycast,这肯定就他妈是 macOS 27的傻逼问题,我操死 Apple他妈。
然后是玻璃效果。9 月 28 日:
卧槽他妈。我知道,就是因为这个傻逼的macOS 27,它现在搞了玻璃效果,这个菜单关闭他妈也明显变得很慢。
10 月 2 日确认了,在 M1 上卡:
好,他妈的,那就知道了,是这个傻逼的 macOS 27 的玻璃效果他妈导致在 M1上面卡。我操死 Apple他妈,我们能不能不要用它这个新版本的 SDK,用老版本的 SDK,然后不要用这个玻璃效果的菜单。我不知道这能不能做到。
降低 SDK、去掉玻璃效果以后,菜单明显变快,可高亮的颜色又和系统菜单对不上。最后没降:
哎,我很纠结,这个SDK虽然降低了,确实明显菜单性能会提高,但我觉得我还是不是很想降低。因为首先这个不是一个高频操作,其次降低了之后它没有那个玻璃效果,高亮的颜色看起来就跟其他的系统的菜单的颜色不一样,就有点怪。妈的,Apple真的很恶心,我操。
要么慢,要么怪。这是一个质量问题,它的形状却很像 Make Default:只剩两条路,两条都不是我想要的。
绕开 Apple 自己写,这条路我在 4 月就走过一次。4 月 11 日:
哎,卧槽他妈,你说的对这是 Safari 的傻逼问题,我看了朋友的网站也是这样。那就不管了
4 月 15 日晚上:
我他妈还是决定应该自己做一个 Safari based macOS 浏览器,支持垂直 tabs 和其他基本功能就够了
第二天上午,我发了一条推:
自己做基于 WKWebView 浏览器后 Safari 和 Brave 的弱智问题都自动消失了:Safari 在 Gemini 里输入完中文要按两次 Enter 才能发出去消息
9 月轮到了 Spaces。系统的 Spaces 我用了十多年,配合 Hammerspoon 做 app 隔离和快捷键切换。它最大的问题不是难用,是没有公开 API:没有办法用程序把一个窗口放进某个 Space。10 月 2 日我把账列了一遍:
Spaces的痛点很多,你说的这些都成立,但是其实最重要的是它没有公开API,导致没有办法自动化 Spaces 的操作。比如说把一个窗口放到另外一个 Space。每次切换都有动画,这个还有一个相关的问题,就是 space 没有窗口,甚至有时候有窗口都会导致你按 Ctrl 数字键切过去,他妈的又跳回来,极其弱智,反正就是很 buggy。 而且它这个 Spaces明显没有为多显示器设计过,有几个显示器之后快捷键也不好设置。
没有公开 API,在我的分类里归控制权。9 月 26 日,我用 Rust 写的 Declara 当天就替换掉了系统 Spaces 和 Hammerspoon,成了每天在用的工具。当天的推文:
借鉴 AeroSpace 的思路用 Rust vibe 了一个 Declarative Desktop 取代 macOS 上用了十多年的,依靠系统 Spaces 和 Hammerspoon 实现的 app spaces 隔离,以及快捷键 launch or activate app 的 workflow。
扔掉系统 Spaces 后操作响应显著提高,从 Linux 转到 macOS 后就他妈没这么爽过!
而且自己实现虚拟 spaces 还避开了 macOS 系统 Spaces 的各种恶心限制,自由度和灵活度大幅提高。
一个多小时后:
太爽了,真的他妈太爽了!我今年给自己造了好几个工具,这个工具我觉得他妈是最爽的!因为终于他妈干死了 macOS 恶心的同类功能获得了巨大的自由度不说还他妈性能比他高很多
每次用 Screen Sharing 登录本机另一个账号再退出,Caps Lock 的映射就被重置。系统设置里的这个选项无法自动化,9 月 30 日,这件事也搬进了 Declara:
没错,现在生效了,那非常好,我他妈就不要去管系统那个设置,那个设置弱智得要死,他妈没有办法自动化,每次我他妈被 reset 了之后,我要手动去点半天,弱智得要死,老子又想操死傻逼 Apple,我操死他妈。
10 月 1 日,Declara 成熟到我觉得可以卖钱了:
妈的,我真的觉得我们这一波做完了之后,这个软件可以被称为1.0了,这个成熟度太高了。我甚至考虑是可以拿去卖钱的,但是他妈我又不想进App Store,很恶心Apple的生态。
10 月 4 日,我在一台十五年前的机器上用 Windows 10 测试同样的操作:
哎,Windows的GUI做得比macOS好太多了,我靠。我他妈十五年前的机器运行Windows 10,就刚刚测试这个操作,它虽然有闪烁,但是非常轻微,而且速度极快。我刚刚也试了一下日常的操作,都没有什么问题,包括我把 Total Commander 最大化了之后我来切 Space,看起来都很自然。虽然确实会有一点点闪烁,但是比Mac这个不知道好到哪里去了。
五分钟后,我找到了宣传 Declara 的卖点:
这是一个很好的卖点,在十多年前的老机器上,妈的运行得比 M1 上的 macOS 27 上顺利。
八、骂与走
回到开头那组数字。质量和设计合起来占了三分之二,最重一级的粗话也有过半落在那里,可是没有一条变成了离开的决定。原因不在怒气的大小,在问题的性质。
质量问题是 bug。bug 可以修,可以绕,可以等下一个版本。连 iPhone Mirroring 那一夜的两个问题,我也承认其中一个是 bug。8 月 25 日那位朋友说可以把问题反馈上去,我是这样回的:
有反馈的渠道是好事,但我之所以骂而不是找反馈,就是因为知道 Apple 收紧权限限制用户自由的总体趋势从来没有变过。这个策略对普通用户可能确实有好处,但对开发者和高级用户就是地狱。当然休眠时间的问题确实是 bug,那个反馈可能更有意义。
控制权问题不是 bug,是方向。反馈修得好一个 bug,改不了一个方向。
5 月 10 日,Make Default 那天晚上,我把账算在人头上:
我他妈感觉是因为 Apple 现在新人越来越弱智,老人要么跑了要么不管事了。macOS 各种 API 这么多问题 Craig 绝对有不可推卸的责任
现在看这份统计,这句话要修正。人的问题解释得了质量和设计那三分之二,解释不了控制权那三分之一。控制权那一类不是疏忽,是有人决定要这样做。
8 月 25 日,在朋友提到反馈之前,我已经把真正的原因说了出来:
而且真正最大的,让我如此生气的问题在于,我对自己的硬件只有使用权没有控制权。我很清楚知道我在干什么,我愿意承担任何安全风险,但是 Apple 不允许我这么做。Apple 在很多地方都没有给过「我知道风险,请继续」的按钮。我花了最贵的价格去买它的硬件,我却连自己的硬件控制权都无法获得。
Apple 给的从来是全局开关:关 SIP,进恢复模式,降低整台机器的安全等级。它从不让我只为这一次、只为这一个 app 做出单次的决定:我知道风险,继续。它还替物理世界做推定,比如认定手机没锁屏就是有人在用,推错了也不给用户更正的接口。
把控制权那六十条串起来,浮现出的是一套连贯的设计哲学:
用户不可信。开发者不可信。只有 Apple 可信。
- 你的手机不给你镜像,因为你可能不是你。
- 你的指纹失败之前不给你密码框,因为你可能在试图绕过验证。
- 你的局域网要授权,因为你可能在扫描别人。
- 你的设备名不给 app 读,因为 app 可能拿它去做指纹。
- 你关掉的系统服务,每次开机替你打开,因为你可能关错了。
- 你自己编译的 binary 发个消息要授权,因为你可能被人骗了。
- 你的软件要签名、要公证、要交钱,因为你可能是恶意开发者。
- 你写给自己手机的 app 七天过期,因为你可能在侧载什么不该装的东西。
- 你想礼貌地询问用户是否设为默认,不行,因为你可能在劫持。
每一条单独看,都有一个安全上的正当理由,我自己也承认签名机制是被垃圾软件逼出来的。合起来看,就是一套把所有人都当嫌疑犯的制度。这套制度对真正的恶意行为约束有限,它日复一日、精确高效地折磨的,是认真做事、想把事情做对的人。
安全的成本转嫁给了用户和小开发者,收益归 Apple。开发者账号的钱收着,App Store 的抽成拿着,出了事说你没遵守规范。
你他妈哪来的权力?
这个问题没有技术答案,只有一个事实答案:硬件是他们卖的,系统是他们写的,签名的私钥在他们手里。他们的权力不来自道理,来自钥匙。
8 月 12 日 23:40,iPhone Mirroring 那一夜的最后一条:
我他妈决定了,我要做一个大型的行为艺术。
我之前自己开发了一个 macOS 的 Neovim GUI https://github.com/0x1b2c/Veil,等我他妈买了新的非 Apple 硬件之后,我就直接把这个项目移植到 Linux,然后删掉 Mac 版,我还会在 README 里写清楚为什么他妈要放弃 Apple 转 Linux
第二天傍晚:
我他妈下一台工作机器绝对是 PC + Linux,还可以双系统装 Windows 玩游戏。这台 MBP 就他妈退居二线做必要操作,直到烂了就他妈彻底离开 Apple 生态
九、同一家公司:我也夸过它
这份档案里也有另一面。它们不在统计之内,因为那不是在骂。
3 月 28 日,我认真夸过 IMK 的候选栏。它固定 17 个汉字宽,单字候选放 9 个,双字候选放 6 个,加上候选数字刚好填满;最左边数字 1 的空间被排除在外,让第一个候选和上方的拼音对齐。在我看来,这是 Apple 的设计师为了输入过程中的视觉稳定,把这块地方算到了一个字。我当时说「简直绝妙」。
4 月 10 日:
哎,我他妈的不得不说,macOS 虽然各种地方有很多很烂的地方,但在最终用户体验层面上,确实还是有它独特的优势
10 月 2 日,我给一台还在跑 macOS 11 的老机器升级。Apple 最近还在给 11 发安全补丁。我第一次通过 Screen Sharing 看到系统升级时的白苹果画面,说的是「卧槽,有点牛逼」。
能把候选栏算到一个汉字宽的公司,和不让我连接自己手机的公司,是同一家。它在乎,只是它在乎的东西里没有我对自己设备的控制权。
所以这份档案最终的结论不是 Apple 做得烂。做得烂的那三分之二,最多让我扔掉一个 app;让我决定离开整个 Apple 的,是剩下那三分之一。
我在 macOS 上用了十多年。我为它写过软件,为它的细节写过赞美。
现在我说:
绝不会再花一分钱买 Apple 的硬件。
操死 Apple 他妈。
附录:怒骂编年史
按时间排列,节选。原话未作修改,长句只截取其中一段。
| 日期(2026) | 类别 | 原话 |
|---|---|---|
| 03-21 | 质量 | 我真搞不懂这个傻逼的 macOS 为什么这么莫名其妙 |
| 03-23 | 设计 | 这个 Console.app 做得也太傻逼了,我感觉 Apple 内部根本没有人真正用过它 |
| 03-27 | 质量 | 卧槽他妈 macOS 现在怎么这么烂了,以前几个月不重启也没任何问题 |
| 03-30 | 控制权 | 他妈真是神经病,我操死他妈,我是开发者我开发期间执行脚本他给我套一个 sandbox 拦我路,简直他妈弱智 |
| 03-30 | 设计 | 啊卧槽太傻逼了,Apple 的开发者工具团队怎么这么啥比 |
| 04-03 | 质量 | macOS 太他妈傻逼了 |
| 04-04 | 设计 | 我真想操死苹果这些傻逼的工程师,我操他妈。 |
| 04-04 | 设计 | 我们应该这么说:Xcode 是一个弱智设计出来给疯子用的傻逼软件 |
| 04-04 | 控制权 | 太傻逼了,真的他妈怎么骂 Apple 这些傻逼的设计都不够 |
| 04-05 | 控制权 | 是否有办法禁止 macOS 给下载的文件添加那个傻逼的隔离属性? |
| 04-09 | 设计 | 老子不想做 macOS 开发了,恶心死了! |
| 04-09 | 设计 | 你为什么把最重要的 Fuck Apple 去掉了? |
| 04-25 | 设计 | 我觉得很恶心,iPhone 为什么要选个这么傻逼的分辨率呢 |
| 04-27 | 质量 | 操死 Apple 工程师他妈! |
| 04-27 | 控制权 | 这他妈实现也太弱智了,还 1px 在屏幕内,老子又想操死 Apple 的傻逼工程师了 |
| 04-29 | 控制权 | 我他妈没有,而且我说得很清楚,一个 GPLv3 发布的软件我不可能为用户去付费注册开发者账号 |
| 05-01 | 质量 | 现在我用着他妈最新的 Apple 高级硬件反而所有应用的性能操作感觉不如当年的 Linux,太傻逼了。 |
| 05-01 | 设计 | 操他妈,Apple 工程师为何他妈能这么弱智? |
| 05-08 | 控制权 | 卧槽他妈,这一堆都是什么傻逼问题? |
| 05-09 | 质量 | 我他妈真是越做 macOS 开发越觉得 Apple 极其弱智越想逃回 Linux |
| 05-09 | 设计 | 哎,又他妈是一个 Apple 生态的独有恶心问题,这么小的事情都做不好 |
| 05-09 | 控制权 | 啊,我他妈,太极吧恶心了,这个傻逼的 macOS |
| 05-10 | 质量 | 我擦他妈,我服了,老子重新改了一次 15 机器上的账号密码,密码完全相等没有任何变化,但 26 那边连接过来就正常了。操死傻逼的 Apple! |
| 05-10 | 设计 | 太傻逼了。我他妈每次做 Apple 系统相关的任何工作都会被一堆弱智设计气死 |
| 05-10 | 控制权 | 肯定改 A,我草死 Apple 他妈! |
| 05-10 | 控制权 | @Apple 我操你妈! |
| 05-17 | 控制权 | 这什么鸡巴卵奇葩设定 |
| 06-14 | 控制权 | 我他妈要被傻逼 Apple 气死了,搞得越来越恶心 |
| 06-16 | 控制权 | Apple 真是太他妈傻逼了 |
| 06-17 | 设计 | 太他妈傻逼了,老子又想操死 Apple 所有工程师的妈 |
| 07-28 | 质量 | 我操死 Apple! |
| 07-29 | 控制权 | 现在的签名机制,这导致整个软件行业都变得极其不自由 |
| 07-30 | 设计 | 我日了,你是说我从 11 年前起就在用一个 deprecated 的 API? |
| 08-09 | 控制权 | 我觉得 Apple 的 Touch ID 有个很弱智的设计 |
| 08-11 | 质量 | macOS 跟他妈弱智一样 |
| 08-11 | 质量 | 我操死 Apple 他妈! |
| 08-12 | 控制权 | 老子自己的手机你他妈凭什么不让老子连接?我操死你妈! |
| 08-12 | 控制权 | Apple 就是他妈一群弱智我操死他妈!老子自己的设备自己的手机电脑还他妈没权限! |
| 08-12 | 控制权 | 我操死他妈老子再也不会花一分钱买 Apple 硬件,我操死他妈!!!! |
| 08-13 | 控制权 | 操死 Apple!!!!! |
| 08-13 | 控制权 | 我操死傻逼 Apple 他妈!!!!! |
| 08-22 | 质量 | Apple 工程师都她妈吃屎长大的 |
| 08-25 | 控制权 | 我他妈喜欢信任 root 这种立场,又他妈想操死傻逼 Apple! |
| 08-25 | 设计 | 我不想搞这个,只是他妈看到一个机会就必须骂死傻逼 Apple |
| 08-25 | 质量 | macOS 真的他妈很傻比 |
| 08-25 | 设计 | 恶心!我草死 Apple 他妈!!!!! |
| 08-25 | 设计 | 这个傻逼问题也是恶心了老子十多年 |
| 08-25 | 设计 | 我操死 Apple 他妈!!!! |
| 08-28 | 控制权 | 我他妈又要操死 Apple 他妈!!! |
| 08-28 | 控制权 | 我他妈死也不会为了这种事给 Apple 钱,为了运行自己的软件还他妈要给他钱,操死他妈还差不多! |
| 08-28 | 控制权 | 操死 Apple 他妈,反正下一个计算设备绝对不会他妈再买傻逼 Apple 的东西 |
| 09-04 | 设计 | 谁他妈还会用 Mac OS 9 这种古董系统?老子简直要疯了。 |
| 09-06 | 质量 | 我真他妈再次想操死傻逼 Apple,他妈一个文件系统都做得这么他妈弱智 |
| 09-06 | 质量 | 我感觉他们现在完全是一群他妈不知道从哪里找来的从来他妈没做过系统编程的菜鸡程序员在做这些 macOS 的核心功能 |
| 09-06 | 设计 | macOS 真他妈做得机器弱智 |
| 09-10 | 控制权 | 我自己的用户主目录我他妈在 Finder 里面进不去,简直他妈一群弱智。 |
| 09-12 | 设计 | 太弱智了,妈的 Apple 产品设计师就是一群傻逼 |
| 09-23 | 控制权 | macOS 的 SIP 到底他妈有什么用? |
| 09-23 | 质量 | 立刻个毛,他妈卡了半天都没动,Apple工具真的做得跟屎一样。 |
| 09-24 | 质量 | 卧槽死他妈, macOS的工程师真的他妈太弱智了 |
| 09-25 | 设计 | 真他妈弱智,我决定不再使用 Apple Music 了,音乐还是他妈自己本地管理最好。 |
| 09-26 | 质量 | 我觉得 Apple 这些傻逼绝对是故意把软件做得他妈这么弱智来消耗过剩的硬件性能制造性能焦虑逼你买新硬件 |
| 09-26 | 控制权 | 老子想操死 Apple 所有傻逼的妈! |
| 09-26 | 控制权 | 我他妈直接去关 SIP,傻逼 Apple 操死他妈! |
| 09-26 | 质量 | 这帮傻逼 Apple 工程师老子又他妈想操死他们所有人的妈 |
| 09-26 | 设计 | 这傻逼Apple,操死他妈老子在界面上根本看不到。 |
| 09-26 | 质量 | 我操死Apple他妈,又是这个Apple傻逼,我操死他妈。 |
| 09-26 | 控制权 | 终于他妈干死了 macOS 恶心的同类功能获得了巨大的自由度不说还他妈性能比他高很多 |
| 09-28 | 质量 | 就是因为这个傻逼的macOS 27,它现在搞了玻璃效果,这个菜单关闭他妈也明显变得很慢。 |
| 09-28 | 设计 | 我他妈不想要动画,我不想要淡来淡去,我他妈就想你快点马上给我响应,傻逼 Apple,操死他妈。 |
| 09-29 | 设计 | 你还怎么他妈用电脑,随时随地都他妈觉得手腕被一个异物烙得恶心。 |
| 09-30 | 控制权 | 老子又想操死傻逼 Apple,我操死他妈。 |
| 10-01 | 控制权 | 但是他妈我又不想进App Store,很恶心Apple的生态。 |
| 10-02 | 质量 | 妈的,Apple真的很恶心,我操。 |
| 10-02 | 控制权 | 这个 spotlight我就是他妈不想要它,还必须得跑。 |
| 10-03 | 控制权 | 根本就他妈没用,Apple做的东西跟弱智一样 |
| 10-04 | 质量 | 在十多年前的老机器上,妈的运行得比 M1 上的 macOS 27 上顺利。 |
| 10-04 | 设计 | 再次确认了,Apple 的「快捷方式」也他妈是一个傻逼设计出来给弱智用,结果无论弱智还是普通人都他妈没法用的傻逼工具。 |
| 10-04 | 设计 | 我操死他妈,操死Apple他妈。 |
| 10-04 | 设计 | 哎,这个Apple生态这些东西恶心死了,我操死他妈。 |
共 185 条,此处节选 80 条。