Mac 微信双开教程:复制 WeChat.app、修改 Bundle ID,并做成桌面一键启动 App

很多人卡在 Mac 微信双开,不是因为做不到,而是网上的方法要么太旧,要么太碎,看完也不敢动。

这次我没有自己手敲一堆命令,而是直接让 Claude Code 在本机把整套流程跑完了:复制第二个微信、修改 Bundle ID、重新签名,再做成一个桌面双击就能启动的 App。

最后结果很直接:

  • 两个微信可以同时运行
  • 两个账号可以独立登录
  • 后续只需要双击一次桌面 App 就能启动

你可以把这篇文章理解成一份 可直接照做的实操文档

如果你只是想快速复现,照着命令跑就行;如果你还想知道为什么这样做能成立,后面我也会讲清楚。

这套方法特别适合:

  • 工作号和生活号分开登录
  • 客服号和私人号同时在线
  • 想把微信双开变成固定工作流的人

先看最终效果

先别急着看原理。

这套方案完成后,系统里会多出 3 个东西:

  1. 原版微信:/Applications/WeChat.app
  2. 第二个微信:/Applications/WeChat2.app
  3. 一键启动入口:
    • ~/start-wechat-dual.sh
    • ~/Desktop/微信双开.app

以后使用时,你有两种方式:

  • 在终端执行 ~/start-wechat-dual.sh
  • 直接双击桌面的 微信双开.app

先说前提和边界

这套方法本质上是把第二个微信复制成一个独立 App,再通过修改 Bundle ID 和重新签名,让 macOS 把它识别成另一个应用。

开始之前,你最好先知道 4 件事:

  1. 微信更新后,WeChat2.app 可能需要重新生成
  2. 首次打开修改后的应用,macOS 可能会要求你手动确认一次
  3. 这套方法主要解决“双开”问题,不保证兼容所有后续版本变化
  4. 建议你先退出微信,并备份重要数据后再操作

如果你想长期稳定使用,最简单的做法就是把这篇文章收藏下来。

后面微信升级后,按同样流程重新生成一次 WeChat2.app 就行。

原理是什么?

如果你只想照做,其实看到这里已经够了。

但如果你想知道为什么这套方法能稳定成立,关键就两件事。

这个方法的核心不是破解微信。

而是让 macOS 把第二个微信识别成另一个独立应用。

背后关键只有两点。

1)修改 Bundle ID

macOS 会用 CFBundleIdentifier 区分应用身份。

原版微信有自己的 Bundle ID。你把 WeChat.app 复制成 WeChat2.app 后,再把它的 Bundle ID 改成新的值,系统就会把它当成另一个 App。

2)重新签名

因为你修改了 .app 包内的 Info.plist,原有签名会失效。

这时如果不重新签名,常见结果包括:

  • 应用打不开
  • 提示“已损坏”
  • 系统拒绝启动

所以完整流程一定是:

1
复制应用 → 修改 Bundle ID → 重新签名 → 启动双开

这样处理后,原版微信和第二个微信会拥有不同的应用身份,通常也会对应不同的数据容器,因此可以同时登录不同账号。

比如:

  • 原版微信容器:~/Library/Containers/com.tencent.xinWeChat
  • 第二个微信容器:~/Library/Containers/com.tencent.xinWeChat2

实操步骤

如果你更关心“怎么做”,直接从这里开始也可以。

整个过程不复杂,按顺序做完就行。

第一步:复制出第二个微信

先把原版微信复制一份,生成 WeChat2.app

1
cp -R /Applications/WeChat.app /Applications/WeChat2.app

执行完后,/Applications 目录里会同时存在:

  • WeChat.app
  • WeChat2.app

这是后面所有操作的基础。

第二步:修改 Bundle ID

把第二个微信的应用身份改掉:

1
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.tencent.xinWeChat2" /Applications/WeChat2.app/Contents/Info.plist

这一步是关键。改完之后,macOS 才会把它识别成另一个独立 App。

第三步:修改应用显示名称

为了后面更容易区分,可以顺手把应用显示名改掉:

1
/usr/libexec/PlistBuddy -c "Set :CFBundleName WeChat2" /Applications/WeChat2.app/Contents/Info.plist

这样在 Finder、Dock 和进程列表里更容易区分原版微信和第二个微信。

第四步:清除扩展属性并重新签名

前面几步是在改“身份”。

这一步是在保证改完之后它还能被系统正常启动。

1
2
xattr -cr /Applications/WeChat2.app
codesign --force --deep --sign - /Applications/WeChat2.app

这一步的作用是让修改后的应用包重新变成一个可正常启动的 macOS 应用。

如果你跳过这一步,最常见的问题就是应用打不开,或者被系统拦截。

第五步:启动双开

1
2
3
open -a "/Applications/WeChat.app"
sleep 0.5
open -a "/Applications/WeChat2.app"

运行后,你应该能看到两个独立的微信窗口,可以分别登录不同账号。

如果你只想快速完成:直接用完整流程

如果你不想一步步手动执行,也可以直接把下面这组命令保存成脚本,一次跑完:

1
2
3
4
5
6
7
8
cp -R /Applications/WeChat.app /Applications/WeChat2.app
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.tencent.xinWeChat2" /Applications/WeChat2.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleName WeChat2" /Applications/WeChat2.app/Contents/Info.plist
xattr -cr /Applications/WeChat2.app
codesign --force --deep --sign - /Applications/WeChat2.app
open -a "/Applications/WeChat.app"
sleep 0.5
open -a "/Applications/WeChat2.app"

如果你更希望后续一键启动,可以继续看下面的脚本和桌面 App 方案。

一键双开脚本

如果你已经完成上面的配置,后面最省事的用法,就是做一个启动脚本。

这样你以后就不用再重复输入启动命令。

脚本内容很简单:

1
2
3
4
#!/bin/bash
open -a "/Applications/WeChat.app"
sleep 0.5
open -a "/Applications/WeChat2.app"

你可以把它保存为:

1
~/start-wechat-dual.sh

然后添加执行权限:

1
chmod +x ~/start-wechat-dual.sh

以后启动双开只需要执行:

1
~/start-wechat-dual.sh

桌面双击启动版本

如果你不想每次都开终端,可以再往前走一步:做一个桌面启动器。

这样以后双开微信,就和打开普通 App 没什么区别。

方案一:.command 文件

如果你想直接复制一条命令到终端,把文件和内容一次性生成,用这一条就行:

1
2
3
4
cat > ~/Desktop/微信双开.command <<'EOF'; chmod +x ~/Desktop/微信双开.command
#!/bin/bash
"$HOME/start-wechat-dual.sh"
EOF

执行完后,桌面就会生成 微信双开.command,双击即可启动。

方案二:桌面 App 启动器(推荐)

如果你想要更像正式软件的体验,不弹终端窗口,可以用 AppleScript 编译成一个 .app

1
osacompile -o "$HOME/Desktop/微信双开.app" -e 'do shell script quoted form of (POSIX path of (path to home folder)) & "start-wechat-dual.sh >/dev/null 2>&1 &"'

这样桌面上会生成一个 微信双开.app,双击即可启动双开微信。

如果你还想让它看起来更自然,可以把原版微信图标复制过去:

1
2
3
4
5
cp "/Applications/WeChat.app/Contents/Resources/AppIcon.icns" \
"$HOME/Desktop/微信双开.app/Contents/Resources/applet.icns" && \
touch "$HOME/Desktop/微信双开.app" && \
killall Finder && \
killall Dock

本文附带脚本下载

如果你不想自己整理命令,可以直接下载我这次用到的脚本:

下载后你可以直接参考内容,或者复制到自己的目录里使用。

如何验证是否真的双开成功?

最直接的办法,就是看两个微信是不是都已经正常启动。

如果你想进一步确认,可以再看进程和容器目录。

先看进程:

1
ps aux | grep -i wechat | grep -v grep

如果配置成功,通常能看到:

  • 原版微信进程
  • WeChat2.app 对应的独立进程

你也可以直接检查第二个微信的容器目录是否存在:

1
ls -ld ~/Library/Containers/com.tencent.xinWeChat2

如果目录已经生成,说明第二个实例已经具备独立数据空间。

常见问题

真正动手的时候,大多数人担心的其实就这几件事。

1. 为什么微信更新后 WeChat2.app 可能失效?

因为更新后的原版微信和旧副本之间,二进制结构、签名状态或内部资源可能不再一致。

这时最稳的做法通常是:

  1. 删除旧的 WeChat2.app
  2. 从最新的 WeChat.app 重新复制一份
  3. 再执行一次修改 Bundle ID 和重新签名

2. 重建副本会不会丢聊天记录?

一般不会。

因为聊天数据主要存储在独立容器目录里,而不是 .app 应用包本身。只要你没有删除对应容器目录,通常数据不会受影响。

3. 首次打开提示安全确认怎么办?

可以:

  • 右键应用
  • 选择“打开”
  • 按系统提示确认一次

4. 这个方法能扩展到三开、四开吗?

可以,原理和双开完全一样:继续复制新的 App、副本分别设置新的 Bundle ID,再重新签名即可。

但如果你只是日常工作和生活号并行使用,双开通常已经够用。建议先把双开流程跑顺,再考虑继续扩展。

5. 为什么不能直接多次执行 open -a WeChat.app

因为 macOS 默认会把同一个 App 视为同一个应用实例管理。仅仅重复打开原版微信,通常不会得到一个拥有独立身份和独立容器的第二个实例。

这也是为什么这套方法必须复制一份应用,并修改 Bundle ID。

结语

如果你之前一直觉得 Mac 微信双开很麻烦,这篇文章其实已经把它拆成了一条很短的路径:

复制应用 → 改 Bundle ID → 重新签名 → 固定启动方式

真正关键的,不是记住几条命令,而是知道这套方法为什么成立。

而是你知道这套方法为什么成立,之后它就不再是一件一次性折腾的事,而会变成一个稳定、可重复使用的日常工具。

如果你只是想尽快用起来,最简单的顺序就是:

  1. 先按本文步骤生成 WeChat2.app
  2. 确认两个微信都能正常启动
  3. 再决定是用脚本启动,还是做成桌面 App

如果你不想自己整理命令,直接下载文末脚本,照着跑即可。

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者,更多功能请访问博客站



Mac 微信双开教程:复制 WeChat.app、修改 Bundle ID,并做成桌面一键启动 App
https://blog.fxcxy.com/2026/03/31/mac-wechat-dual-open-claude-code/
作者
独立开发
发布于
2026年3月31日
许可协议