I have an iPhone 4 and I wanted to copy all my text messages off of it.
Is there a utility to do this under Ubuntu?
Or is there a way to access them through the file menu/cmd line?
I have an iPhone 4 and I wanted to copy all my text messages off of it.
Is there a utility to do this under Ubuntu?
Or is there a way to access them through the file menu/cmd line?
from http://maketecheasier.com/how-to-copy-files-tofrom-your-iphone/2008/09/05
In any platforms, as long as you have a FTP program, you can easily transfer files to/from the iPhone via OpenSSH.
On you iPhone, go to Cydia. Tap on Section on the bottom pane and scroll to Networking->OpenSSH. Tap on the Install button to install it.
On your desktop, open up your FTP program (it doesn’t matter which one you use. For me, I used Filezilla because it is free and easy to use).
On Filezilla, go to File->Site Manager
On the left, click New Site
Rename the site to ‘iPhone‘
On the right, enter the following:
Host: Your iPhone IP address Servertype: SFTP – SSH File Transfer Protocol Logontype: Normal User: root Password: alpine
Click ‘Connect‘
You will be shown a confirmation message asking if you will accept key exchange / connection with the device with the iPhone’s address. You’ll need to click OK for it to connect.
Connected mode:
Once connected, you will see the familiar Explorer-like navigation structure. Simply drag and drop the files to and forth the iPhone.
If Ubuntu has access to a dual-boot Windows partition, with iTunes synchronization : open your apple folder (somewhere inside c:\users...\appdata\Apple...\MobileSync/Backup// ) --> you should find this file "3d0d7e5fb2ce288813306e4d4636395e047a3d28"
Then open it with sqlite (eg sqlite firefox plugin), and execute this sql query :
select message.rowid,
case when message.date=0 then null else datetime(message.date, 'unixepoch', 'localtime', '+31 years') end as sent,
case when message.date_delivered=0 then null else datetime(message.date_delivered, 'unixepoch', 'localtime', '+31 years') end as delivered,
case when message.date_read=0 then null else datetime(message.date_read, 'unixepoch', 'localtime', '+31 years') end as read,
case when h1.id is not null then h1.id else h2.id end as interlocutor,
case when message.is_from_me then null else message.text end as to_me,
case when message.is_from_me then message.text else null end as from_me,
attachment.filename as attach,
case when message.error=0 then null else message.error end as error_code
from message
left join handle h1 on message.handle_id=h1.rowid
left join message_attachment_join on message_attachment_join.message_id=message.rowid
left join attachment on message_attachment_join.attachment_id=attachment.rowid
left join chat_message_join on chat_message_join.message_id=message.rowid
left join chat_handle_join on chat_handle_join.chat_id=chat_message_join.chat_id
left join handle h2 on chat_handle_join.handle_id=h2.rowid
order by message.roWID
You'll have every messages (sms or iMessages) ready to export to a csv file.