原理:为什么改 Bundle ID 就能多开
macOS 通过 Bundle ID 来识别应用的唯一性。微信的 Bundle ID 是固定的,系统只允许同时运行一个实例。多开的核心思路是:复制一份微信应用,修改副本的 Bundle ID,再重新签名。修改后,系统会把副本当成一个全新的应用,数据目录也完全独立(比如 ~/Library/Containers/com.tencent.xinWeChat2),两个微信互不干扰。
操作步骤
1. 部署多开管理工具
先克隆管理脚本并做好准备工作。
2. 创建微信副本
运行脚本创建第二个微信实例(WeChat2),脚本会自动完成复制、修改 Bundle ID、重新签名等操作。
3. 启动双开
同时启动两个微信实例后,会看到两个独立的登录窗口,分别登录不同账号即可。
4. 验证运行状态
检查进程确认两个微信实例都在正常运行。
日常使用技巧
固定到 Dock 栏:启动 WeChat2 后,在 Dock 栏找到图标,右键点击 → "选项" → "在 Dock 中保留",后续直接从 Dock 启动。
需要三开、四开:按相同步骤创建 WeChat3、WeChat4,脚本支持交互式菜单管理多个副本。
微信升级后怎么办
这一步容易踩坑。微信通过 App Store 或自动更新升级后,WeChat2 可能打不开,或者打开后和原版微信冲突——因为升级过程会覆盖副本中的文件并重置 Bundle ID,系统又把两个微信当成同一个应用了。
好消息是聊天记录不会丢失。微信的数据存储在独立的容器目录 ~/Library/Containers/com.tencent.xinWeChat2 中,和应用本身是分离的。只需要重新执行一遍创建副本的步骤,数据会自动关联回来。如果有多个副本,对每个副本分别重建即可。
几个注意事项
- 首次打开副本提示"已损坏":右键点击"打开"即可绕过
- 删除副本:
rm -rf /Applications/WeChat2.app - 清理数据:同时删除
~/Library/Containers/com.tencent.xinWeChat2
这个案例本身就很好地展示了 AI 编程工具的一个实用场景:你不需要会写 shell 脚本,不需要理解代码签名机制,只要能清楚描述你的需求,Claude Code 就能帮你搞定从脚本编写到问题排查的全过程——甚至还能把解决方案整理成一篇可复用的教程。对于独立开发者来说,这种"把琐碎的系统配置任务丢给 AI"的工作方式,值得养成习惯。