我保存了~/Library/Messages/
内所有内容的副本,其中包含一个名为的文件夹
Attachments
,其中包含一堆子目录,其中包含我所有附加到邮件(图像,文档,电影等)的文件,以及三(3)个名为的文件:
chat.db
(文件大小约为20 MB),chat.db-shm
(33 KB)和chat.db-wal
(565 KB)。我打开了大chat.db
文件,它包含了SQLite数据库中的所有消息。我知道这个文件包含重建我的iMessage历史记录所需的所有信息,我只是不确定如何说服iMessages.app这样做。
我已经在这里待了大约60分钟,尝试了几件不同的事情(我不会列出其中的每一件事)。
必须有一种从我保存的这些文件中恢复邮件的方法。
答案 0 :(得分:3)
在我头上撞了3天之后 - 我发现了以下内容:
所有这3个文件都保存了Archives中的内容索引。因此,删除损坏的文件和/或只恢复这3个文件的备份应该已经完成了。但事实并非如此。我已经尝试在更换这些文件后重新启动消息应用程序一千次,但无济于事。在我决定运行lsof
以查看实际使用chat.db
的内容之前。令我惊讶的是不是消息app:
[none-none][18:42:24] vlazarenko@alluminium (~/Library/Messages)$ lsof -n | grep chat.db
IMDPersis 1655 vlazarenko txt REG 1,3 32768 107632436 /Users/vlazarenko/Library/Messages/chat.db-shm
IMDPersis 1655 vlazarenko 4u REG 1,3 309032 107632435 /Users/vlazarenko/Library/Messages/chat.db-wal
IMDPersis 1655 vlazarenko 5u REG 1,3 4096 107632432 /Users/vlazarenko/Library/Messages/chat.db
IMDPersis 1655 vlazarenko 6u REG 1,3 32768 107632436 /Users/vlazarenko/Library/Messages/chat.db-shm
正如您所看到的,这是一个名为IMDPersis
的过程。寻找那个:
[none-none][18:57:10] vlazarenko@alluminium (~/Library/Messages)$ ps -ef | grep IMDPersis
501 1655 1 0 6:48PM ?? 0:00.11 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent
一个哈哈!时刻。退出消息,替换文件,对kill
的PID执行IMDPersistenceAgent
,然后启动消息,立即恢复了我的历史记录。
以为我会分享,虽然这是一个老话题。
答案 1 :(得分:2)
Apple论坛上有一些有用的信息。
基本上,只需移动备份的~Library/Messages
文件夹即可替换新的空~Library/Messages
文件夹。
可能是chat.db
,chat.db-shm
和chat.db-wal
文件与密钥等链接在一起,因此这可能是iMessages不接受更改的原因。