So my mother decided it was about time to switch over to smartphone from her old nokia 2370C and of course she asked me to transfer over her ringtones, photos, contacts including all text message both inbox, sent & archived.
I was searching around for a solution and I came across this thread (How to import SMS backup file(CSV format) took from Android to iPhone) regarding transfering sms's via android to iphone backup using CSV file directly imported via sqlite into the backup.DB file.
That's all fine and dandy as android is very similar setup for its text messages however Nokia is very much different especially on the older model phones whereby I have 3 CSV files:
1 for Inbox
1 for Sent messages
1 for Archived messages
Each of which have more columns than that is required.(https://i.gyazo.com/2338704e7cffb769d5754b0b3e9acded.png).
The Inbox CSV file first 3 columns involve the type of message (SMS), followed by the the status of the message (delivered or received) then is I assume a log for the handler id. 2 blank columns followed by the date and time, another blank column then finally the message contents.
How would I using the linked thread use that information to be able to import said data from each of the 3 seperate csv files into the iphone's backup?
You don't import it to the smartphone. You import it to the contact management software on your computer then sync with iTunes
For more details regarding software to import :https://www.aiseesoft.com/support/how-to-transfer-sms-from-android-to-iphone.html
if still need a help visit https://www.iphonebackupextractor.com/blog/import-sms-text-messages-whatsapp-iphone/ link.
else find nearest apple retail store they can help you.
Related
Is it possible to write an Iphone App that can access the SMS Messages on the Phone and store it elsewhere? I have seen other questions like this and another question that says one can send SMS with the MFMessageComposeViewController from the MessageUI Framework.
Since both the questions were more than a year old, is it possible to do this now ( Accessing SMS messages and storing it on the iCloud) ?
No this is not possible, the iOS SDK does not allow you to access the messages from the messages.app.
Also all message are already backed up to iCloud when a device backup is made.
The Apple Dev Library says, "In iOS 4.0 and later, you can send text messages from within your application. This feature is strictly for sending messages. Incoming SMS messages go to the built-in Messages app." I wish they would explain why they won't allow programs to access messages.
So not with an iPhone app, apparently, but you can access them with a desktop app. See http://www.wired.com/2013/11/backup-sms-iphone:
"Apple saves your text messages in its iPhone backups, whether they’re saved locally on your PC or whether they’re part of an iCloud backup — which you should have. That’s good! Unfortunately, they’re not separated out. However, you can access them through the filesystem. If you back up locally on an Apple machine, you can find the file under Library > Application Support > MobileSync > Backup. There should be multiple folders there, each with a different backup image of your phone. Each of the folders should have a file named ” 3d0d7e5fb2ce288813306e4d4636395e047a3d28.mddata.” Those are your texts, in SQLite database form."
You'll need to use SQLite to decipher the file. There are some instructions here:
How to Access and Read the iPhone SMS Text Message Backup Files.
In my application I want to get the total number of SMS sent from iPhone. My application is targeted for cydia store for jail broken devices and Currently I am working on xcode 4.5.2 and iOS 6.
When the application opens I want to get the total SMS sent from iPhone message log. Can we get total SMS sent on a particular day. I saw some applications in cydia store which maintains SMS history logs for example"SMS Stats", "SMS Counter". Is there any third party framework to get sms count?. I had searched in many ways but I found no solution. Please help me.
The messages are kept in a SQLite database called sms.db
You can make queries on it to collect the information you want.
At theiphonewiki got some information about the DB but I am not sure it is updated to iOS 6, you might just have to investigate the DB using some SQLite explorer to figure out what you need.
I'm developing an application that get access to the iPhone address book.
The simulator contains only a few sample entries.
I'd like to find a sample address book with thousands of entries with various
character set (English, Chinese, Arabic, etc) to fully test my app.
Filling the address book myself will take for ever.
Basically I need a AddressBook.sqlitedb file with as much data as possible
A csv would probably do just fine if there is a way to transfer it into a sqlitedb file
Good question, I'll have to give this a go myself later, but just from combining a few things I found around the web the following might work for you:
Install Sun OpenDS and fill it with test data using the checkbox provided
Connect your Mac's address book app to this directory server on localhost and sync (will fill your local address book with the same sample data)
as described here: http://blogs.oracle.com/treydrake/entry/mac_address_book_and_opends
Sync to a real iPod/iPhone
Extract the resulting files from your iPhone/iPod's
/User/Library/AddressBook/
and copy into:
/Users/[your user name]/Library/Application Support/iPhone Simulator/[iOS version]/Library/AddressBook/
if your device is jailbroken 'Phone Disk' from macroplant.com is a convenient way to do this (but there are of course many others including SCP etc)
(if your device isn't jailbroken, you can extract the database from a backup using the shell script here: http://0xced.blogspot.com/2009/01/using-your-own-address-book-in-iphone.html just note you'll need to change the path it copies it to to the one above, or your home folder or something and copy manually, as the simulator path in that post is for the previous version of the SDK)
As a minor aside but related to address book testing, I'd highly recommend also adding an Exchange account on a real device (as you can't do that in the simulator) and testing with that - it threw up some bugs in our app (crash on attempting to access the address book).
I'd like to introduce a feature in my iPhone App that allows the following:
1) creating and sending by email a CSV file from within my iPhone App.
2) importing into my iPhone App a CSV file created with 3rd party software and sent to me by email.
These are the questions:
1a) Is it possible to actually create a CSV file from within the App and send it as an attachment? I know I can send an email containing all the strings required, but I want to be able to send the actual file.
1b) Once created, can this file be stored into the memory allocated to my iPhone App?
2) What procedure should I follow to import a CSV file into my App? I do not want to read the CSV file from a URL.
Can all this be done with the iPhone or not??
Thanks!
1a) Yes, you can use the addAttachmentData:mimeType:fileName: method on an instance of the MFMailComposeViewController class to do that.
1b) Yes, you can write the NSString containing the CSV data to a file using the writeToFile:atomically:encoding:error: method.
2) Yes, in iOS 4 you can subscribe your app to certain file types, go here for more detailed information.
In the desktop Mac world, if I were to click on a link in a web page which linked to a VCF file, this file would be opened in the Address Book application. In the iPhone world, however, doing that results in the message "Download failed. Safari cannot download this file" being displayed. So, my question is, is it actually possible to add a contact to your iPhone's Address Book from a web page?
I have both the original VCF file and an hCard microformatted version of the data available to me, so the solution does not have to be tied to downloading the original file - I'm able to reprocess the data if necessary. The only requirement is to add the contact to the iPhone's Address Book from a webpage being viewed from within Mobile Safari.
So, any ideas?
[UPDATED - Sep 2013 - iOS7 now supports direct download of VCARDs from we page and import into native contact application so you only need the solution below whilst iOS6 and below still do not support it - that may change in future now that Apple have accepted the feature ]
[UPDATED JAN 2013 - now have added the user agent sniffing and combined into a single download.php file which detects iOS, Mobile Safari, UiWebView scenarios to prevent "Farme Load Interrupted" errors and serves the .vcf file to all bnut Apple devices which get the .vcf embedded in the .ics.]
See the updated complete solution
What follows is a full description of an alternative method for downloading contacts from a web page to an iPhone via Mobile Safari. The basic idea is to attach the required contact information as a file in a calendar event which IS handled by mobile safari. The contact file itself is base64 encoded in the calendar file on the fly using a simple PHP script. So read on...
Just want the source code? Download it here [iphone-contact-download-demo] for a fully working HTML5 Web App that you are free to copy and reproduce or go to http://iphone.mobicontact.info for a working demo. The demo uses the HTML5 cache manifest which downloads the content to your iphone or HTML5 supporting browser for use when offline. Please google for more details about "offline web apps" if you want to know more.
Embedded VCARD in VCALENDAR for iPhone download
You may have read that it is not possible to download contact files (VCARD format data as .vcf file) direct to your iPhone from a web page using Mobile Safari. The browser just does not recognise the .vcf extension and mime type (text/x-vcard) as something it should handle. As an aside, Android and most other mobile devices should be able to handle VCARD files easily enough - the standard itself is as old as the hills!
You may also have read that it IS possible to achieve something workable by requesting the users email address and then email them the contact file OR creating a link to a Google Map entry and extract the contact information from that (Google Map entry requires weeks to attain in the UK).
Whilst these are both viable solutions, they are not what I would call user friendly and I tried, unsuccessfully, to get a client of mine to accept either one of them for their contact download on a mobile web app.
Now at this point I should also mention that you CAN download some third party apps that add support for VCARD (.vcf) files - such as QRAFTER and VCARD GETTER both from Kerem Erkan's excellent QR reader and his blog on the subject and iPad solution, and HIPSCAN vcard importer. But assuming your readers have these apps installed is one step too far in my opinion so I searched for an alternative solution to email, google maps and third party apps.
Before I continue, there are many links describing the problem in more detail:
Stack overflow has several threads on the subject
Forcing vCard download (thesheep.co.uk)
The EMAIL solution and associated blog from the Code Train here vCard options for download
There is also a possible solution using Google Maps here. And this is also covered by this article from Dataplex.
Jonas Schmid talks about serving the file types correctly.
MacRumours thread
Then I got thinking, iPhone DOES support vcalendar files downloaded from a webpage as of IOS5. The VCALENDAR files usually have a .ics extension and are handled by mobile safari bringing up a window where the file can be opened and saved to the calendar. I find it unbelievable that Apple and Mobile Safari support VCAL files but not VCARD files but that is just how it is. So what IF I could attach a VCARD file to a VCALENDAR file?
First obstacle is getting an attachment on a calendar event...
Initially I tried adding an attachment to an Outlook calendar appointment in Windows which whilst possible did not download correctly when linked from a webpage and certainly didn't yield the result I was after. So, I decided to try using Apple software as, after all, we are trying to download onto an iPhone. Using Apple's default calendar application "iCal" presents one fundamental problem - you can't add attachments to an event/calendar appointment! So I googled "adding attachments to calendar events in OSX" or similar and found this excellent article which pointed me in the right direction.
Adding attachments to calendar appointments in OSX.
So a few minutes later and with a copy of BusyCal installed, I was able to create an event and attach a VCARD file to it (previously saved/exported from my contacts in OSX). This step is only necessary to understand the format of the file created when an attachment is added to a calendar item - you DO NOT need to install BusyCal to implement the solution described below but I include it for reference so that you can see how the VCARD is embedded in the VCALENDAR/VEVENT (.ics) file.
The steps I used were on an Apple iMac running OSX Lion:
Export a contact from your Contacts/Address Book to create a VCARD file (.vcf) - you can edit this file with a text editor to strip out all the extra stuff such as UID and PROD-ID if you like.BEGIN:VCARD
VERSION:3.0
N:Contact;iPhone;;;
FN:iPhone Contact
EMAIL;type=INTERNET;type=WORK;type=pref:iphone#mobicontact.info
TEL;type=CELL;type=VOICE;type=pref:012-345-6789
END:VCARD
Create a new calendar - call it what you like, I used "vcal"- in the "On my Mac" area so that when you export this calendar to generate the .ics file, all you get is the single event with the attached card rather than all the events you might have if you use an existing calendar.
Create a new event - call it anything you like - and give it an arbitrary time and date.
Attach the VCARD file from (1) to this new event - see screenshot.
Save the event to the calendar.
From the main menu of BusyCal, export the calendar to an .ics file on your local disk - download the zip file here --> Apple calendar event with attached contact file.
You can now use your favourite text editor to examine how Apple store attachments in calendar events and the result is using:ATTACH;VALUE=BINARY;ENCODING=BASE64;FMTTYPE=text/directory;
X-APPLE-FILENAME=iPhone Contact.vcf:
QkVHSU46VkNBUkQNClZFUlNJT046M...etc... [base64 encoded VCARD]
So I then stripped out all the extra stuff I didn't need (trial and error here) until I had the absolute minimum that was still recognised by the iPhone as a valid calendar event with attachment. The reason for doing this is to make the PHP file that creates the calendar event on the final webpage as easy as possible - here is the vcal-minimal of what I reduced it to.
So all of the above, as I said, is not necessary to implement the contact download solution - I just wanted to show you how I got to understanding how Apple attach files using the X-APPLE-FILENAME contact line. And of course, how they encode the VCARD data using base64 encoding. So now we have all the info we need to create VEVENTs on the fly and attach VCARDs to them that can be downloaded direct to an iPhone via Mobile Safari.
1)Upload the contact file (.vcf) you want to be downloaded - you'll need this file so that you can either download it direct to non-iphones or base64 encode it for the iPhone.
2)Create a link to a PHP file that will generate the calendar event on the fly such as:
Download Contact iPhone perhaps in a HTML5 mobile app like below:
3)Create or upload the vcal.php with the code here iphonecontact-source-code. This PHP file applies the correct header/content type for the calendar file to be downloaded then you have a choice of either getting the calendar file contents directly "iphonecontact.ics" as done in "vcal-from-file.php" or generating the calendar on the fly as shown in "vcal.php". The latter is my preferred method because you get a nice timestamped calendar event showing the time and date of the download.
4)That's it! You're all set - now browse to the web page on your iphone and click the link to execute "vcal.php". Your browser should now show the iphonecontact.ics file and ask you to open it in the phones Calendar application
5)Select "Open in..." and you will be presented with the calendar appointment and the attached contact file.
6)Notice how I set the title of the calendar event to something useful to tell the user what to do with the embedded contact file (you can see the line in vcal.php that sets the SUMMARY field for the event). So now click the attached contact file...
7)And then "Create New Contact" and you're nearly there...
Save the contact and curse under your breath at the hoops Apple made you jump through!
Now there are a couple of points I'd like to mention here based on my experiences using this technique on HTML5 web apps:
Using the cache manifest - I had some unexpected behaviour/problems serving the the calendar file (iphonecontact.ics) if it had been cached - I just couldn't get it to work so I exclude it from the manifest which means it is always downloaded - source code is included in this zip file iphonecontact-source-code.
I have added some user agent sniffing to detect in the "vcal.php" or whatever you call it (download.php in latest online example) PHP file whether to serve the VCALENDAR file to an iPhone and the VCARD file itself to all other browsers.
Also be careful, if viewed through a UiWebView application then I redirect the user to a page that says open with Mobile Safari (as suggested by someone on my blog) otherwise you get the dreaded "Frame Load Interrupted" error.
I think that's about it - so to summarise:
Mobile safari doesn't support VCARD (.vcf) files directly but does support VCALENDAR (.ics) files.
Current best solutions are to email the contact by requesting the users email address OR to embed the contact in a google map link OR download an app that handles VCARDS.
Apple does support attachments to calendar files but not easily so once we know how this is done we can do it in PHP.
Embed a VCARD into a VCALENDAR file to allow a user to save a contact to their address book with just an extra click or two.
I hope you like this solution - it is as good as I think we are going to get until Apple relent and allow Mobile Safari to accept VCARD files.
Until next time...
Whilst slightly outside of the scope of my original requirements, I have found a solution to the problem that I can work with.
As it turns out, if you receive an email with a vcard in it as an attachment, then you are able to open this attachment and add it to your address book. So, if instead of offering a vcard download link to iPhone users you provide them with a way to be sent the vcard via email instead then they are able to add the card to their address book.
A slightly roundabout solution, but about the best I'm able to come up with whilst Apple don't allow you to do it natively. Certainly it's a better solution than doing nothing at all.
I ended up writing a blog post about this: Adding a vCard to your iPhone Address Book from a web page
For Googlers, as of This post, in iOS 7 (beta 6) The file can be opened directly into the contacts app and saved.
I was able to get this working on a web app using the following resources:
vCards-JS - Simple API for creating a vCard. The example in the Readme shows how to create a vCard, assigned to variable vCard
Stack Overflow Post: "Download data url file" - Replace "helloWorld.txt" with vCard.getFormattedString(). the filename (i.e. name argument) should of course end in .vcf as well.
Confirmed working on Android, IOS and Outlook.
According to the reference library adding contact to the iPhone's Address Book is not possible..
The available schemes are: mail, phone, text, map, youtube and iTunes links.
Iphone URL Scheme Reference