要求

  • macOS 12 Monterey或更高版本(iMessage数据库格式在macOS 12中有所更改)。
  • 已安装Homebrew — 如果没有,请在brew.sh运行单行安装程序。
  • 此Mac上登录的iMessage账户必须是您要导出的同一账户。

第1步:授予Terminal完全磁盘访问权限

iMessage数据库存储在受保护的位置。Terminal需要明确权限来读取它。

1
打开系统设置(macOS 13+)或系统偏好设置(macOS 12)。
2
导航到隐私与安全 → 完全磁盘访问权限
3
点击+按钮并添加Terminal(位于/Applications/Utilities/Terminal.app)。如果Terminal已在列表中,确保其开关处于启用状态。
如果您使用iTerm2或其他终端应用程序,请添加那个而非Terminal。权限跟随应用程序,而非命令。

第2步:安装imessage-exporter

打开Terminal并运行:

brew install imessage-exporter

这将安装开源命令行工具imessage-exporter。它直接从您的本地iMessage数据库读取——不会将任何内容发送到任何服务器。

第3步:导出您的消息

运行以下命令,以纯文本格式导出所有对话并复制媒体文件:

imessage-exporter -f txt -c copy -o ~/imessage-export

参数含义:

  • -f txt — 纯文本格式(XMOX必需)
  • -c copy — 将媒体文件(语音备忘录、图像)复制到导出文件夹
  • -o ~/imessage-export — 输出目录(您可以更改此路径)
对大型iMessage库的完整导出可能需要几分钟并产生一个大文件夹。如果您只需要一个对话,请仅导出该联系人(见下面的提示)。

第4步:找到正确的对话文件夹

导出后,在Finder中打开~/imessage-export。您将看到每个联系人或群组各有一个文件夹,以电话号码或Apple ID命名:

~/imessage-export/
  +15551234567/
    +15551234567.txt
    attachments/
      audio_message.caf
  group_chat_abc123/
    ...

找到您要分析的联系人或群组的文件夹。

第5步:压缩对话文件夹

1
在Finder中,右键单击联系人的文件夹(例如+15551234567)并选择压缩
2
在同一位置创建.zip文件。这就是您上传到XMOX的文件。

第6步:上传到XMOX

3
在您的XMOX工作区中,点击+ 新建任务并选择"iMessage导出"
4
上传ZIP文件。XMOX解析.txt对话文件并在attachments/文件夹内定位语音备忘录附件。
5
当任务显示就绪时处理完成。语音备忘录(Apple的.caf格式)会自动转换为MP3并进行转录。

大型库的提示

  • 仅导出特定联系人:imessage-exporter -f txt -c copy -o ~/imessage-export -t "+15551234567"
  • -t参数按电话号码或电子邮件过滤——这使导出保持小且快速。
  • 群聊使用内部ID,而非电话号码。先运行完整导出,然后通过识别.txt文件中的联系人姓名来找到群组文件夹。
iMessage对话仅存储在已启用iMessage并登录该账户的设备上。如果您最近没有在此Mac上使用iMessage,某些旧消息可能不在本地存在。

准备好分析您的iMessage对话了吗?立即将导出上传到XMOX。

打开工作区 →