2012-12-17 8 views
10

In iOS 5 und höher führte Apple die Methode ABPersonCreatePeopleInSourceWithVCardRepresentation ein, die sehr nützlich ist, um eine vCard in das Adressbuch zu leiten und die ABRecordRefs für die erstellten Personen wiederherzustellen.Korrektes vCard-Format für iOS-Geräte?

Allerdings scheint die Apple vCard (zumindest ein bisschen) anders zu sein als eine Standard-vCard, wie ich herausgefunden habe, als ich Standard-vCards zum Adressbuch hinzufügen wollte. Gibt es irgendwo eine Seite, die genau beschreibt, was das Apple-Format für eine vCard sein sollte?

Danke!

+0

Welche .vcf-Dateien hatten Probleme für Sie, d. H. Bestimmte Felder usw.? Das einzige, was ich im Moment gefunden habe, ist, dass die vCard-Dateigröße weniger als 256 KB betragen sollte. –

+1

@NickolayO. meist das 'PHOTO' Feld. scheint eine Kombination der Formatierung zwischen vcard 2.1 und vcard 3.0 zu erwarten. – Andrei

+0

Könnten Sie eine Beispiel-vcard-Datei anhängen? (PS. Doc sagt: Adressbuch unterstützt vCard Version 3.0.) –

Antwort

7

Die ABPersonCreatePeopleInSourceWithVCardRepresentation Dokumente geben an, dass vCard version 3 is the supported protocol. Leider, wenn Sie Probleme mit einer Standard-vCard haben, bin ich mir nicht sicher, wie ich helfen kann - ich habe ein gutes Stück gesucht (diese Prämie ist eine gute Motivation: P) und konnte keine weiteren Informationen finden.

Ich habe nicht meinen iPhone auf mich zu testen, aber this guy Ansprüchen die folgenden, v2.1 vCard auf einem iPhone 4 mit einem QR-Scanner-App importiert haben (den könnte die API in Frage verwendet werden). The 3.0 spec is a superset of the 2.1 spec - können Sie diese vCard versuchen und lassen Sie mich wissen, wenn es funktioniert?

BEGIN:VCARD 
VERSION:2.1 
N:;Company Name 
FN:Company Name 
ORG:Company Name 
TEL;WORK;VOICE;PREF:+16045551212 
TEL;WORK;FAX:+16045551213 
ADR;WORK;POSTAL;PARCEL;DOM;PREF:;;123 main street;vancouver;bc;v0v0v0;canada 
EMAIL;INTERNET;PREF:[email protected] 
URL;WORK;PREF:http://www.example.com/ 
NOTE:http://www.example.com/ 
CATEGORIES:BUSINESS,WORK 
UID:A64440FC-6545-11E0-B7A1-3214E0D72085 
REV:20110412165200 
END:VCARD 

Sie können die offizielle 3.0 spec here und here lesen.

Als letzten Graben Lösung gibt es plenty of vCard parsers out there - es ist ein totes einfaches Protokoll. Sie können einfach eine dieser Dateien verwenden (oder selbst eine schreiben) und den Kontakt manuell unter Verwendung von ABPersonCreatePeopleInSourceWithVCardRepresentation zum Adressbuch hinzufügen.

+0

Brilliant. Das sind viele gute Infos. Vielen Dank. – Andrei

+0

@Aaronsnoswell, sind Ihnen ähnliche Apple-Dokumentationen zu vCard 4.0 bekannt? – mac9416

1

Ich habe eine abwärtskompatible VCard class erstellt, die .vcf-Dateien generiert. Aber für iOS-Geräte < iOS 8 exportiert die Klasse in .ics-Dateien (VCards werden dann in eine VCalendar-Datei eingeschlossen), weil das die einzige Möglichkeit ist, Dinge auf älteren iOS-Versionen zum Laufen zu bringen!

Verwendet von Tausenden von Menschen! Überprüfen Sie es auf GitHub

Verwandte Themen