iChat (a.k.a. Messages) doesn’t store its chat logs in a format that can be (easily) parsed outside of iChat, so if you want to use your chat data for anything, you’ll need to convert those logs to something better. (Anything would be better. Even AIM’s
<FONT>-ridden HTML 3 is more useful than iChat’s binary plists.)
One suggestion I found that came close was to convert the binary plist to XML so that the XML could be parsed with the tool of your choosing:
$ plutil -convert xml1 example.chat
However, the XML generated by that command doesn’t include enough information to reliably determine which participant sent each message. (Or if it does, it doesn’t make it obvious enough that I would dedicate time to writing a parser.)
After trying every other promising script and program, here is the only thing that worked:
- Install Adium.
- Use Adium’s File > Import to import all of your iChat transcripts.
- After it finishes, look in
~/Library/Application Support/Adium 2.0/Users/Default/Logs/and voila! Folders full of XML chat logs with data you can actually use. The file extension is
.chatlog, but the content is sensible XML.
This process worked for me to convert 5,000 transcripts created by iChat between 2007 and 2013, and I used Adium 1.5.8.