Ich habe ein langes (mehrere Monate dauerndes) iMessage-Gespräch mit einem Kontakt. Er hat diese Nachrichten verloren, als er sein Betriebssystem neu installiert hat, aber ich habe immer noch das Archiv. Dort finden Sie einige wichtige Informationen, die wir gerne aufbewahren möchten.
Gibt es eine einfache Möglichkeit, dieses Gespräch zur Archivierung in einer für Menschen lesbaren Form zu exportieren und auch alle Bilder aufzubewahren?
Ich kann Teile der Konversation auswählen, in die Zwischenablage kopieren und in ein Rich-Text-Dokument einfügen, aber dadurch werden alle Bilder verworfen. Ich suche nach einer Möglichkeit, die Bilder zu behalten.
Hinweis: Ich verwende iMessage nur unter OS X, nicht unter iOS.
(Idealerweise möchte ich auch alle Nicht-Bild-Dateianhänge exportieren, aber ich erwarte nicht, dass dies möglich sein wird.)
Wenn Sie das iMessage-Konto Ihres Kontakts kennen, ist hier ein Bash-Skript von mir , um Text + Bilder abzurufen.
#Parameter is a iMessage account (email or phone number i.e. +33616.... )
if [ $# -lt 1 ]; then
echo "Enter a iMessage account (email of phone number i.e +33616.....) "
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 .
Ich habe mir erlaubt, die obige Antwort von Matthieu zu ergänzen. Ich schrieb ein Skript, das den Prozess automatisierte, indem es alle Nachrichten des Benutzers, einschließlich Bilder, Audiodateien und Filme, sicherte und jede Konversation in einer Textdatei nach Telefonnummer speicherte.
https://github.com/PeterKaminski09/baskup
Bearbeiten: Ich habe das Skript zu einer OS X-App mit einigen netten Funktionen wie Kontakterkennung entwickelt. https://peterkaminski09.github.io/baskup
Ich habe eine praktikable Lösung gefunden:
Das Ergebnis sieht nicht gut aus , enthält aber alle Bilder und der Text ist durchsuchbar. Es ist also gut genug.
Diese Person scheint eine ausgefeiltere Lösung zu haben (keine Respektlosigkeit gegenüber dem äußerst nützlichen SQLite-Scraper oben):
http://www.chrisfinke.com/2013/11/05/convert-ichat-transcripts-to-useable-xml/
Um den Blog zusammenzufassen:
Adium-Transkripte werden aus Ihren Protokollen generiert und gespeichert in:
~/Library/Application Support/Adium 2.0/Users/Default/Logs/
Die konvertierten Dateien sind in HTML, leichter lesbar und hoffentlich archivfreundlicher, aber der sqlite
Ansatz zur Verknüpfung von Anhängen sieht vernünftig aus.
Beachten Sie, dass iMessage-Anhänge in der Regel leben in:
~/Library/Containers/com.apple.iChat/Data/Library/Messages/Attachments/...
(Ich kenne die Regeln nicht, was da reinkommt und was nicht, also ist es vielleicht nicht vollständig - aber da ist eine ganze Menge drin)
Aber tatsächlich können Sie einige Informationen über den Kontakt und die Konversation in den erweiterten Attributen der Datei sehen:
$ xattr -lp com.apple.metadata:kMDItemWhereFroms <attachment>
druckt einen Ursprung, wenn Messages einen dort zum Download bereitstellt.
Ihr Mac sollte sie automatisch speichern. Hier sind Anweisungen, wie Sie sie extrahieren können:
http://www.imore.com/how-view-and-move-your-imessage-history-and-attachments
Mit der Export iMessages -App können Sie SMS/iMessages auf Ihrem Mac/PC speichern, drucken, sichern und wiederherstellen.
Matthias Riegler
Szabolcs
kein Hang
Szabolcs