ryg

iMessage архив сообщений

Скачать сообщения iMessage

Apple не хранит архив сообщений на своих серверах, поэтому если вы удалили контакт или сами сообщения, то восстановить их маловероятно. Но возможно, что их копии сохранились на вашем Mac. 
Проверьте содержимое папки 
~/Library/Messages/Archive
Папка "Библиотеки" может быть скрытой, чтобы ее сделать видимой в Finder в версии Mac OS X 10.9 Maverics необходимо перейти в домашнюю папку (Cmd+Shift+G), далее меню Вид->Параметры вида->Показывать папку "Библиотеки". В ранних версиях Mac OS X (Mountain Lion и раньше) нужно сделать видимыми скрытые файлы.
 
Часть данных может находиться в папке
~/Library/Containers/com.apple.ichat/Data/Library/Messages/Archive
Но основные данные находятся в базе данных в трех файлах
  • chat.db,
  • chat.db-shm,
  • chat.db-wal
 чтобы вытащить оттуда данные в текстовом формате можно использовать скрипт
 
Вот текст данного скрипта
 
# Bash Script By Matthieu Riegler - http://matthieu.riegler.fr
# Licence CC-BY 0 
#
# This script takes in input a iMessage account input and backs its conversations up as txt files. 
# It also saves its pictures that are cached localy 
#Параметром является почтовый адрес или телефон контакта например  +7985.... 
if [ $# -lt 1 ]; then
    echo "Введите данные контакта, телефон или электронную почту "
fi
login=$1
#Retrieve the text messages    

sqlite3 ~/Library/Messages/chat.db "
select is_from_me,text from message where handle_id=(
select handle_id from chat_handle_join where chat_id=(
select ROWID from chat where guid='iMessage;-;$1')
)" | sed 's/1\|/me: /g;s/0\|/budy: /g' > MessageBackup.txt


#Retrieve the attached stored in the local cache
sqlite3 ~/Library/Messages/chat.db "
select filename from attachment where rowid in (
select attachment_id from message_attachment_join where message_id in (
select rowid from message where cache_has_attachments=1 and handle_id=(
select handle_id from chat_handle_join where chat_id=(
select ROWID from chat where guid='iMessage;-;$1')
)))" | cut -c 2- | awk -v home=$HOME '{print home $0}' | tr '\n' '\0' | xargs -0 -t -I fname cp fname .
 
Для тех, кто никогда не работал с терминалом, необходимо сделать следующее:
 
Сделать новую папку, пусть это будет папка в Документах/iMessage.
Открыть текстовый редактор и скопировать текст скрипта в него. Сохранить получившийся файл в папку документы/iMessage именем iMessageBackup.sh
 
Запустить программу терминал. Можно сделать это из файндера, комбинация горячих клавиш Cmd+Shift+U переведет вас в папку с утилитами и оттуда запустить terminal.app, а можно это сделать через spotlight.
 
Дальнейшие команды можно копировать и вставлять в командную строку терминала: 
Перейти в папку Документы/iMessage, 
Внимание! Если диск у вас настроен как case sensitive (учет рег. клавиатуры), то важно написание заглавных букв в имени папок. И вы можете получить сообщение  No such file or directory Посмотреть формат диска можно в дисковой утилите.
cd ~/Documents/iMessage
Теперь вам необходимо точно знать, как настроен контакт с абонентом архив переписки, которого вы хотите сохранить. Для этого в iMessage (Сообщения) открываете переписку и в верхнем левом углу, в поле "Кому" открываете выпадающее меню.
Посмотреть контакт в iMessage
 
после этого вы набираете следующую команду в терминале:
sh iMessageBackup.sh данные контакта
например:
sh iMessageBackup.sh rtr747@me.com
 
В итоге работы скрипта в этой же папке будет создан файл MessageBackup.txt, где будет сохранена вся ваша переписка. И если были присоединенные файлы, он будут также сохранены в данной папке. Картинки из iMessage являются присоедеиненными файлами.  Если файл будет пустым, то вы неправильно указали данные контакта. 
 
Вот и все. Единственным минусом данного скрипта то, что он не сохраняет время сообщений.
 

Удалить сообщения iMessage.

Для  того чтобы надежно удалить всю вашу переписку необходимо сделать следующее:
Перейти в папку ~/Library/Messages/
Там вы увидите следующие три файла:
chat.db
chat.db-shm
chat.db-wal
их необходимо удалить. Их можно удалить и из терминала командой:
rm -r ~/Library/Messages/chat.*
 
После этого нужно удалить странный архив сообщений iMessage
 
~/Library/Containers/com.apple.ichat/Data/Library/Messages/Archive