Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I have a web page with tables full of people & their contact information. I started writing a pairing of php & javascript to automagically generate vCards (*.vcf) for each contact. Half way through this process I’ve discovered that iOS is none too cooperative with .vcf downloaded by Mobile Safari.

When a .vcf files is received via MMS or as an email attachment, iOS provides a very obvious & simple interface for adding it as a new contact. I expected Mobile Safari to exhibit similar behavior to Messages & Mail, but that is not the case.

With Dropbox installed, on my iPhone or iPad, things look like:

Mobile Safari “handles” a .vcf file

Without Dropbox installed, Mobile Safari just throws up its hands and says it cannot download the file.

Anyone have a way forward on this one? Is there a way to coerce Mobile Safari into doing something meaningful with the .vcf file? Will this be supported in iOS 5? Wy on earth is it not supported now? Is there another way to markup the contact information so that Mobile Safari will allow for seamless creation of a new entry in Contacts? Microformats, serving the .vcf up with a MIME of text/plain, some markup & JavaScript bookmarklet (clumsy and awkward as they may be), etc. ?

N.B.

  1. I want to know if this can be done on iOS using Mobile Safari. I’m not looking for work arounds that involve syncing with a desktop machine, using Dropbox, or some other 3rd party app.
  2. Yes, I understand that sending a user the .vcf file as an attachment via email is an option (a terrible, time consuming, non-elegant option which requires the user to enter their email address without typos or otherwise bolloxing things up).
  3. I also understand that <a href="tel:+1 617.555.1234">phone</a> can create a new contact with a tap & hold (this too is a terrible, time consuming, non-elegant option which requires the user to remember & then enter the person’s name without typos, otherwise bolloxing things up, and then forces them to tap, hold repeat, for each piece of info [phone, email, address, home phone, home email, website, …])
share|improve this question

closed as unclear what you're asking by Mark, bmike Jul 22 '13 at 11:49

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

5 Answers 5

I expect you found my solution on Stack Overflow but if not you can see the source code and full description at http://www.mobicontact.info or on Stack Overflow

BTW - it involves wrapping the VCARD (.vcf) file inside a Calendar appointment (.ics) which IS handled by mobile Safari. All the required user agent sniffing and PHP to auto create the calendar appointement is included. Feel free to use the code, post a comment or up vote on Stack Overflow to spread the word. Enjoy and good luck.

share|improve this answer
add comment

Mobile Safari does not handle downloaded files (including vcf) for security reasons.

Sending the vcf as a message attachment is the only current solution for transmitting vCards or adding contacts via Mobile Safari.

An option you might consider is presenting visitors to the page the option to select (multiple) contacts that they wish to download, then generating a singly vCard with multiple contact data — so that the user wouldn't have to re-enter their email address each time (at least that makes it somewhat less laborious).

Somewhat more complex to set up, but perhaps simpler experience for the user, might be for you to set up SMS messaging via a gateway such as Amazon Web Services and give the user the option to enter their phone number to receive the vCard as an SMS.

Lastly, you may consider building a native first party app to provide your users with a list of available contacts and the ability to add them to their own Contacts.

share|improve this answer
add comment

Of course I forgot the other obvious answer, which is to set up something like a Google Apps account that stores all of the contacts, and then invite your users to configure their devices to use it. This way, contacts are stored and managed in a central location and can be updated.

(Since you are asking about sharing contact information, I assume this is a closed group that you are sharing data amongst, such as a business or school).

share|improve this answer
add comment

Please check the manuals from iOS6. This should be possible via Safari. I called Apple Support, but unless there are enough people complaining about this, they won't fix it.

iPad user Guide (page 69):

Import contacts from a vCard: Tap a .vcf attachment in an email or message, or on a webpage.

iPad Gebruikershandleiding (page 75):

Contactgegevens importeren vanaf een vCard: Tik op een .vcf-bijlage in een e-mail of bericht of op een webpagina.

share|improve this answer
add comment

Method 1 Mail the CSV/VCF contacts to your iPhone directly

Among so many methods, email may be the easiest and most convenient method to import contacts from CSV/VCF to iPhone. If the size of the CSV/VCF contacts file is not too big, you can import CSV/VCF file to iPhone by email.

Step 1 Add the CSV/VCF file as an attachment to your email and mail it to your own email address.

Step 2 Open the email on your iPhone and click on the attachment.

Step 3 Then your iPhone will prompt you to add the contacts to your iPhone, just do it following the tips, and soon you’ll have all the contacts on your iPhone Address Book.

Method 2 Import CSV/VCF to Outlook and sync Outlook contacts to iPhone

Step 1 Open Outlook on your computer (here take Outlook 2010 as an example), from the File menu, select Open > Import > Import from another program or file > Next.

Step 2Then you’ll be led to the “Import a File” window, select “Comma Separated Values (Windows)” or VCF file, then click “Next”.

Step 3 Click “Browse” to import contacts file (in .csv/.vcf format) from your computer, and click “Next”, then click “Finish” to import contacts from computer to Outlook Contacts folder.

Step 4 Download iTunes (here take iTunes 11.0.4 as an example) and run iTunes on your computer, then connect your iPhone to the computer with a USB cable.

Step 5 Ensure you use the latest iTunes version by checking Help on the menu bar and then Check for updates from your iTunes program.

Step 6 In the left sidebar of iTunes, under Devices, click the entry for your device to show the Summary page, and click the Info tab > Contacts > Sync contacts with, choose Outlook and click All contacts, and click Apply on the bottom-right of your iTunes interface, and then start to sync Outlook contacts to iPhone.

Method 3 Import CSV/vCard to Google Gmail and sync Gmail contacts to iPhone

Step 1 Log into your Gmail account with your Gmail address and password, click “Gmail” button on the left column and choose “Contacts” category. Then click “More” and choose “Import” in its pull-down list.

Step 2 Then in the pop-up “Import Contacts” window, click “Choose File” to find the contacts backup on your computer (choose the contacts backup in .csv or .vcf format), then click “Import” to start to import VCF/vCard file to Gmail Contacts.

Step 3 Launch iTunes on your computer and connect your iPhone to the PC using a USB data cable.

Step 4 Tap on your iPhone under “Devices” entry on the left sidebar of iTunes to show the Summary page.

Step 5 Click on “Info” tab on the right interface, and click on “Sync Contacts with” checkbox, select “Google Contacts” from the drop-down menu and click “Apply” or “Sync” button on the bottom-right corner.

Method 4 Import CSV/VCF to Windows contacts and sync Windows contacts to iPhone

Step 1 Press “Windows + R” keys on the keyboard to open “Run” window and type “wab” in “Open” filed and hit OK.

Step 2 Click on “Import” button to open the “Import Windows Contacts” window, and choose the CSV file or vCard you want to import to iPhone, and click “Import”.

Step 3 Select contacts to import by browsing your computer, and click “Next” to define the domains for your contacts, and click “Finish”.

Step 4 Run iTunes on your computer, then connect your iPhone to the computer using a USB data cable.

Step 5 On the left sidebar of iTunes, you’ll find out your iPhone under “Devices” entry, click your device to show the Summary interface.

Step 6 Click on “Info” tab on the right interface, and click on “Sync Contacts with” checkbox, select “Windows Contacts” from the drop-down menu and click “Apply” or “Sync” button on the right corner.

Method 5 Import VCF (vCard) contacts to iCloud directly

Step 1 In order to import VCF to iPhone 5/4S/4/3GS via iCloud, firstly, you should make sure the “Contacts” option of the iCloud on your iPhone is turned on by checking Settings > iCloud > turn “Contacts” on.

Step 2 Go to www.icloud.com on your computer, and log into your iCloud account with your Apple ID and password.

Step 3 Click “Setting” button on the left corner and choose “Import vCard”.

Step 4 Then choose the vCard (.vcf file) from your computer, and click “Open”, then the vCard contacts will be added to your iCloud Contacts automatically. Then you just succeed to import vCard to iPhone, so go to your iPhone Address Book to check the contacts.

Note: You can edit the contacts information, add new contacts to the iCloud, or delete the repeated contacts by left-clicking the contact and tapping on “Delete” from the “Setting” button, all the changes of contacts will be reflected on your iPhone contacts too.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.