macOS 微信双开终极指南:一行命令搞定,无需第三方工具
前言
在 Mac 上使用微信的朋友一定遇到过这个痛点:工作和生活两个微信号,却只能登录一个。每次切换都要扫码重新登录,一天下来能扫几十次码,效率极低。
市面上有不少"微信双开"工具,但要么收费,要么存在安全隐患。其实 macOS 自带的能力就能完美实现微信双开,而且方法极其简单,不需要安装任何第三方软件。
本文将从原理到实操,手把手教你实现 macOS 微信双开。
一、原理简述
macOS 的应用管理依赖一个核心机制:Bundle Identifier(包标识符) 。
系统通过 CFBundleIdentifier 来判断"这是不是同一个应用"。正常情况下,你不可能打开两个完全相同的微信——系统会识别出 com.tencent.xinWeChat 已经在运行,直接把你带到已有的窗口。
所以双开的思路非常直接:
复制一份微信,改掉它的 Bundle Identifier,让系统以为这是两个不同的应用。
三步搞定:
- 复制 WeChat.app → 微信双开.app
- 修改新应用的
CFBundleIdentifier - 重新签名(因为改了 Info.plist,原签名失效)
二、准备工作
2.1 关闭微信
在进行任何操作之前,确保微信已经完全退出:
# 快捷键
⌘ + Q 退出微信
# 或者终端强制退出
killall WeChat
2.2 确认微信所在路径
ls /Applications/ | grep WeChat
# 输出:WeChat.app
微信默认安装在 /Applications/WeChat.app,如果你的路径不同,请自行替换。
三、详细步骤
步骤 1:复制微信应用
有两种方式,任选其一:
方式 A:访达操作(推荐新手)
- 打开 访达 → 应用程序
- 找到 微信 图标
- 按住 ⌥ (Option) 键,拖动微信到空白处
- 松开鼠标,访达会自动创建一个副本
- 将副本重命名为 微信双开
方式 B:终端操作(推荐开发者)
sudo cp -R /Applications/WeChat.app /Applications/微信双开.app
注意:
sudo需要管理员密码,输入时不会显示,输入完按回车即可。
此时打开 /Applications 目录,你会看到一个全新的 微信双开.app。
步骤 2:修改 Bundle Identifier
这是最关键的一步。我们需要让系统认为"微信双开"是一个全新的应用。
sudo /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.tencent.xinWeChat2" /Applications/微信双开.app/Contents/Info.plist
命令详解:
| 参数 | 含义 |
|---|---|
PlistBuddy | macOS 自带的 plist 文件编辑工具 |
-c "Set :CFBundleIdentifier ..." | 设置 CFBundleIdentifier 字段 |
com.tencent.xinWeChat2 | 新的标识符,比原版多了个 2 |
/Applications/微信双开.app/Contents/Info.plist | 目标 plist 文件路径 |
验证修改是否成功:
/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" /Applications/微信双开.app/Contents/Info.plist
期望输出:
com.tencent.xinWeChat2
步骤 3:重新签名
修改了 Info.plist 之后,应用的原始签名就失效了。macOS 的安全机制要求所有应用必须签名,所以我们需要重新签名:
sudo codesign -f -s - /Applications/微信双开.app
命令详解:
| 参数 | 含义 |
|---|---|
codesign | macOS 代码签名工具 |
-f | 强制替换已有签名 |
-s - | 使用 ad-hoc 签名(本地签名,无需开发者账号) |
/Applications/微信双开.app | 目标应用 |
验证签名是否成功:
codesign -dvvv /Applications/微信双开.app 2>&1 | head -5
如果看到 Signature=adhoc 和 valid on disk,说明签名成功。
四、启动双开
现在打开 应用程序 文件夹,你会看到两个微信图标:
- WeChat:原始微信,登录工作号
- 微信双开:复制版微信,登录个人号
两个应用可以同时运行、同时登录、互不干扰。
⚠️ 首次启动可能会出现安全提示,这是因为使用了 ad-hoc 签名。解决方法是:
打开 系统设置 → 隐私与安全性,在页面底部找到被拦截的应用,点击 仍要打开。
五、完整脚本(一键执行)
如果你不想一步步敲命令,把下面这段保存为脚本,一键执行:
#!/bin/bash
# macOS 微信双开一键脚本
set -e
echo "===== 微信双开安装脚本 ====="
# 1. 复制微信
echo "→ 正在复制微信..."
sudo cp -R /Applications/WeChat.app /Applications/微信双开.app
# 2. 修改 Bundle ID
echo "→ 正在修改 Bundle Identifier..."
sudo /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.tencent.xinWeChat2" /Applications/微信双开.app/Contents/Info.plist
# 3. 重新签名
echo "→ 正在重新签名..."
sudo codesign -f -s - /Applications/微信双开.app
# 4. 验证
echo "→ 验证完成:"
echo " 原始微信 ID:"
/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" /Applications/WeChat.app/Contents/Info.plist
echo " 双开微信 ID:"
/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" /Applications/微信双开.app/Contents/Info.plist
echo ""
echo "✅ 微信双开安装完成!"
echo " 现在可以在应用程序文件夹中找到「微信双开」"
echo " 两个微信可以同时登录互不干扰"
保存为 wechat-dual.sh,然后执行:
chmod +x wechat-dual.sh
./wechat-dual.sh
六、常见问题
Q1:更新微信后双开会失效吗?
不会。 微信更新只替换 /Applications/WeChat.app,你复制出来的 微信双开.app 不会受影响。
但这也意味着双开版不会自动更新。建议定期删除旧的双开版,重新执行一次脚本即可。
Q2:双开版微信的消息通知正常吗?
完全正常。 两个微信的通知是独立的,互不影响。
Q3:为什么有时候双开版打开后闪退?
可能是 macOS 安全策略拦截。解决方法:
# 移除隔离属性
sudo xattr -rd com.apple.quarantine /Applications/微信双开.app
Q4:可以三开甚至更多吗?
可以。原理相同,复制更多份,分别设置不同的 Bundle Identifier:
com.tencent.xinWeChat2
com.tencent.xinWeChat3
com.tencent.xinWeChat4
但要注意内存占用,每个微信大约占用 500MB-1GB 内存。
Q5:这个方法安全吗?
安全。整个过程没有使用第三方工具,所有命令都是 macOS 自带的系统工具。
cp:系统复制命令PlistBuddy:系统 plist 编辑器codesign:系统签名工具
七、总结
| 步骤 | 命令 | 说明 |
|---|---|---|
| 复制应用 | sudo cp -R /Applications/WeChat.app /Applications/微信双开.app | 创建微信副本 |
| 修改 ID | sudo /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.tencent.xinWeChat2" /Applications/微信双开.app/Contents/Info.plist | 让系统以为是新应用 |
| 重新签名 | sudo codesign -f -s - /Applications/微信双开.app | 修复签名 |
| 移除隔离 | sudo xattr -rd com.apple.quarantine /Applications/微信双开.app | 可选,解决闪退 |
整个过程不到 1 分钟,一次配置,长期使用。
尾巴
这个方法不仅适用于微信,理论上任何 macOS 应用都可以用同样的方式实现多开。核心思路就是:
复制 → 改 ID → 重签名
如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、转发,让更多 Mac 用户告别反复扫码的烦恼 🎉
有问题欢迎在评论区留言讨论。
本文发布于掘金社区,作者:njlizhi
转载请注明出处