用 Mac 的人大概都遇到过这个痛点:微信只能登一个号,工作号和私人号想同时在线?官方不支持,第三方工具又不敢装。
其实不需要任何第三方软件。macOS 自带的命令行工具就能解决,原理也很简单——复制一份微信,改掉它的"身份证号",系统就会把它当成另一个 App。
先说原理
每个 macOS 应用都有一个 Bundle Identifier(包名),相当于应用的身份证号码,格式类似 com.tencent.xinWeChat。系统靠这个 ID 来区分应用、隔离数据、管理权限。
同一个 Bundle ID,系统只允许运行一个实例。所以思路很直接:复制一份 WeChat.app,把副本的 Bundle ID 改成不一样的,系统就认为这是两个独立应用,各自登各自的号,数据互不干扰。
操作步骤
准备工作:确认 PlistBuddy 可用
ls -l /usr/libexec/PlistBuddy
如果提示文件不存在,安装 Xcode 命令行工具即可:
xcode-select --install
弹窗确认后很快装完,不需要装完整的 Xcode。
第 1 步:复制微信
sudo cp -R /Applications/WeChat.app /Applications/WeChat2.app
第 2 步:修改 Bundle ID
sudo /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.tencent.xinWeChat2" /Applications/WeChat2.app/Contents/Info.plist
这一步是核心。改完之后,系统就把 WeChat2 视为一个全新的应用。
第 3 步:清除扩展属性
sudo xattr -cr /Applications/WeChat2.app
不清除的话,下一步签名会失败。
第 4 步:重新签名
sudo codesign --force --deep --sign - /Applications/WeChat2.app
--sign - 表示 ad-hoc 签名(本地自签),自用完全没问题。
第 5 步:验证签名
sudo codesign -vv --deep --strict /Applications/WeChat2.app
看到 valid on disk 就说明签名通过,可以直接打开 WeChat2.app 了。
几点补充
每次微信更新后需要重新配置上面的步骤。WeChat2.app 不会跟着 App Store 自动更新,因为系统已经不认为它是同一个应用了。建议把上面的命令存成一个 .sh 脚本,更新后一键重建。
**两个微信的数据完全独立。**聊天记录、登录状态、缓存各管各的,不会串。
**首次打开可能有安全提示。**因为是自签名,Gatekeeper 可能会拦一下。到「系统设置 → 隐私与安全性」里放行即可。

