Skip to content

RDM-ARM 1.0.2(黑屏保护)

Pre-release
Pre-release

Choose a tag to compare

@charsen charsen released this 15 Oct 12:44
· 114 commits to master since this release

这一版解决什么

1.0.1 让同事能下载到能跑的东西;1.0.2 解决「跑起来可能回不去」的问题。

本机 macOS 报告 257 个模式,其中 77 个被标记为「不适合桌面 GUI 使用」。而 RDM 的价值恰恰在于把它们全部列出来——不列出来就没有可解锁的东西。

风险在于:显示器如果真显示不了这个模式,画面会全黑。而能让你改回来的菜单栏图标,正好画在这块黑掉的屏幕上。除了等系统超时或强制重启,没有别的办法。原版 RDM 没有处理这件事。

黑屏保护(新增)

每次切换分辨率或旋转后弹出 15 秒确认框:

操作 结果
什么都不做 15 秒后自动还原到切换前的模式和旋转角度
点「保留」 采用新模式
点「立即还原」 立刻退回
  • 选中的就是当前模式时不会弹框。
  • 设置 → 通用里可以关掉。
  • 命令行也有保护,但只在选中的模式被标记为不可用时才询问,而且要求标准输入是终端。每次切换都问会让脚本白白卡 15 秒;一个动不动就拦人的保护最后一定会被永久关掉。要显式跳过用 -y / --no-confirm。

顺带修掉的两个真问题

  • 打包脚本会把非通用二进制标成 "universal":原本只检查 arm64 切片,于是复用一次 arm64-only 构建时会产出文件名和安装说明都写着「通用二进制」、实际只能在 Apple silicon 上跑的 zip。现在两个切片都强制检查。
  • Info.plist 里的模板版本长期停在 1.0.0:构建时会被覆盖所以本地看不出来,但任何跳过 build.sh 的打包路径都会带着错版本出去。现在三处版本号都核对。

安装

  1. 下载下面的 RDM-ARM-1.0.2-universal.zip,解压得到 RDM-ARM.app 和 安装说明.txt。

  2. 把 RDM-ARM.app 拖进「应用程序」。

  3. 首次打开前必须做一件事。 本应用只有 ad-hoc 签名(没有 Apple 开发者签名与公证),macOS 会拦下它并提示「已损坏」或「无法验证开发者」——这是预期的,不是文件真的坏了。在「终端」里执行一次:

    xattr -dr com.apple.quarantine /Applications/RDM-ARM.app
  4. 它是菜单栏应用,没有主窗口。 打开后请看屏幕顶部菜单栏,会多出一个显示器图标。如果菜单栏图标太多看不到,在菜单栏空白处按住 Command 再拖动可以调整顺序。


验证

项 结果
通用构建 x86_64 arm64,2.4 MB
CI(Xcode 15.4 / Swift 5.10) 12 步全绿,含新增的版本号一致性检查
还原往返 2304×1296 ⚡️ → 2304×1296 → 2304×1296 ⚡️,PASS
倒计时自动还原 实测 3.5 秒返回、退出码 3、显示器无变化
非终端不阻塞 -w 2304 -h 1296 -s 2 < /dev/null 0.036 秒返回,无弹框
包体 1.5 MB,SHA-256 810609208af04a8666395e0bf79bad9ad0efb7863385d68d88fcf5fdf60dc060

没验到的:「保留」按钮路径没有实测——按下它需要真实键盘事件,合成事件打进自己进程需要辅助功能权限(本机未授予)。代码上它与「立即还原」共用同一个回调,只差 stopModal(.OK) / .cancel;超时路径已验证定时器确实在模态循环里触发,所以风险很低,但没有端到端跑过。


系统要求

macOS 13.0 或更高。通用二进制,Apple silicon 与 Intel 都能跑。