12

iOS 5 以降で、Apple はこのABPersonCreatePeopleInSourceWithVCardRepresentationメソッドを導入しました。これは、vCard をアドレス帳にフィードし、作成された人物の ABRecordRef を取得するのに非常に役立ちます。

ただし、標準の vCard をアドレス帳に追加しようとしているときにわかったように、Apple vCard は標準の vCard とは (少なくとも少しは) 異なっているようです。vCard の Apple フォーマットがどうあるべきかを詳述しているページはどこかにありますか?

ありがとう!

4

3 に答える 3

10

ABPersonCreatePeopleInSourceWithVCardRepresentationドキュメントには、vCard バージョン 3 がサポートされているプロトコルであると記載されています。残念ながら、標準の vCard で問題が発生している場合、どうすればよいかわかりません。かなりの検索を行いました (報奨金は良い動機です :P)。それ以上の情報は見つかりませんでした。

テスト用の iPhone は手元にありませんが、この男は、QR スキャナー アプリ (問題の API を使用している可能性があります) を使用して、次の v2.1 vCard を iPhone 4 に正常にインポートしたと主張しています。3.0 仕様は 2.1 仕様のスーパーセットです。この vCard を試して、動作するかどうか教えてもらえますか?

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:user@example.com
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

公式の 3.0 仕様は、ここここで読むことができます。

最後の解決策として、vCard パーサーがたくさんあります。これは非常に単純なプロトコルです。これらのいずれかを取得 (または自分で作成) し、ABPersonCreatePeopleInSourceWithVCardRepresentationを使用して連絡先をアドレス帳に手動で追加できます。

于 2013-01-12T07:00:01.597 に答える
1

.vcf ファイルを生成する、下位互換性のあるVCard クラスを作成しました。しかし、iOS 8 より前の iOS デバイスの場合、クラスは .ics ファイルにエクスポートします (VCard は VCalendar ファイルにラップされます)。これは、古い iOS バージョンで動作させる唯一の方法だからです!

数千人が利用!GitHubで確認してください

于 2016-05-31T07:45:57.863 に答える