稍候片刻,月出文自明。
/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' \
'/Applications/Mac Mouse Fix.app/Contents/Info.plist'
/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' \
'/Applications/Mac Mouse Fix.app/Contents/Library/LoginItems/Mac Mouse Fix Helper.app/Contents/Info.plist'
为了用 Claude,我把 Mac 的地区和时区都改到了美国。
结果,一直免费用着的 Mac Mouse Fix 开始提示付费。之前系统地区选中国大陆时,明明还好好的。
属于是为了骗 Claude,把所有 App 都骗了。
我想要的其实很简单:系统继续留在美国,Mac Mouse Fix 单独用中国大陆地区。
翻了下 3.1.0 的源码,它会读取当前 Locale 的地区代码,再检查免费地区名单。这次核查时,名单里有 CN,没有 US,和我遇到的情况对得上。
给它单独设个地区
macOS 允许应用保存自己的偏好,覆盖全局设置。这里用到的是 AppleLocale。
先看看原来有没有设置过,记下结果,方便还原。提示键不存在也正常。
接着,在 Mac Mouse Fix 里停用后台功能,确认 Helper 已退出,再退出主程序。然后运行:
两行分别设置主程序和后台 Helper。这两个 Bundle ID 已从本机应用包核实,Helper 也参与许可检查,所以一起设置。
重新打开应用,再启用后台功能,让两个进程都重新读取设置。只关掉窗口可不算退出。
再执行开头两条 read 命令。都返回 zh_CN,说明覆盖值已经保存;接下来还得看应用里的地区提示和鼠标功能,才能判断它是否真的采用了设置。
地区和语言,别一起改乱了
AppleLocale 管 Locale,AppleLanguages 管首选语言。en_CN 可以表示英语、中国大陆的区域格式,但不保证界面变成英文;界面语言要单独选。
时区也归另一套设置管。给 Mac Mouse Fix 覆盖 Locale,不需要把整台 Mac 的时区再改回去。
想改回来
如果原来没有这两个键,删掉覆盖就能重新跟随系统:
如果原来已有值,就填回之前记下的值。之后同样重启主程序和 Helper。
这次核对了配置和源码,还没有完成“覆盖后恢复免费”的实际对照。它也只影响 Locale,不会更改 IP、定位或账号地区;其他 App 是否适用,要看它读取哪一层信息。
Bundle ID、临时启动参数和参考资料
本文对应本机 Mac Mouse Fix 3.1.0。换个版本或应用,先从 Info.plist 读取 Bundle ID,别直接猜 Helper 的后缀:
只想临时试一次,也可以在主程序完全退出后这样启动:
这次启动的参数覆盖会在进程退出后消失,之前写入的持久设置仍会保留。主程序参数不能假定会自动传给 Helper。
如果还要指定英文界面,可在系统“语言与地区”的“应用程序”里设置;终端对应的是 AppleLanguages 语言数组。免费名单会更新,不宜把当前结果当成永久政策。本文未核实 Claude 的地区检测方式。
核查于 2026 年 11 月 14 日。资料:Apple 的 Locale 与语言说明、启动测试参数、Mac Mouse Fix 地区读取源码、官方免费地区名单。