Yesterday I accidentally deleted an important sms conversation from my Mac (for which I didn’t have a Time Machine backup). I thought it would be fairly easy to copy all my messages from my iPhone to my Mac, but it wasn’t that easy…
This guides helps you copy all your messages from iOS to OS X. You could invert the process to copy your messages from OS X to iOS.
Copying the databases
Before continuing, quit Messages app on your Mac.
First you need
Attachments folder from the iPhone. You can use a backup extractor tool to restore the file structure.
You can also manually find the backup folder in
~/Library/Application Support/MobileSync/Backup. The files in that backup folder are named with the SHA-1 hash of the original file in the iOS filesystem. The file for
sms.db is called
3d0d7e5fb2ce288813306e4d4636395e047a3d28. Just rename it to
sms.db and you have your SMS database. (I extracted the attachments folder with a third-party app)
~/Library/Messages on your Mac and replace all its contents with
Attachments from your iPhone. Rename
On iOS, the messages are stored in
~/Library/SMS/ directory. This is not the case on OS X, where they are stored in
~/Library/Message/. This results in your attachments not showing op in Messages on Mac. In order to solve this, we need to execute a Sqlite query to rename SMS to Messages for each attachment:
UPDATE attachment SET filename = replace(filename, '/Library/SMS/Attachments/', '/Library/Messages/Attachments/') WHERE filename LIKE '%/Library/SMS/Attachments/%';
I used DB Browser for SQLite to browse and edit the SQL database. You can execute the above SQL query by going to the Execute SQL tab.
It is also possible that you need to update the Sqlite version number. Otherwise Messages.app will mark the database file as incompatible. Again, we do this by executing a query:
UPDATE _SqliteDatabaseProperties SET value = '9007' WHERE key = '_ClientVersion';
I got the
9007 value from the
Once all of this is done, restart your Mac and verify that your messages have arrived in Messages app.