2011-12-21 5 views
4

アドレス帳のすべてのエントリのコピーをvcardsとしてファイルに保存してから、そのファイル(またはそのファイルのバージョン)を取得しようとしていますが、私がそれらを必要とするとき、バックアップの文脈の中でアドレス帳にそれらを加えてください。私はこの質問は前に頼まれている知っているが、私の人生(と私のnewbishプログラミングのスキル)のために、私はそれを動作させることはできません。iOS 5.0/XCode 4.2でABAddressBookでVCardsを使用

- (void)grabContacts 
{ 
    ABAddressBookRef addressBook = ABAddressBookCreate(); 
    CFArrayRef contacts = ABAddressBookCopyArrayOfAllPeople(addressBook); 
    NSData *vcards = (NSData *)ABPersonCreateVCardRepresentationWithPeople(contacts); 

    [vcards autorelease]; 

    NSError *error; 
    NSFileManager *fileMgr = [NSFileManager defaultManager]; 


    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *folderPath = [paths objectAtIndex:0]; 
    NSString *filePath = [folderPath stringByAppendingPathComponent:@"contacts.dat"]; 

    [NSKeyedArchiver archiveRootObject:vcards toFile:filePath];  

    NSLog(@"Documents directory: %@", 
     [fileMgr contentsOfDirectoryAtPath: folderPath error:&error]); 

    CFRelease(addressBook); 
} 

私は受信側のためにCopying contacts from one source to anotherに投稿されたソリューションを使用しますが、それはうまくいかないし、Apple側の漠然としたドキュメントのために私は結果がないために私の脳を壊してしまった。

ありがとうございます。

S.

答えて

0

Nevermind。私は自分の問題を見つけました。私はそれらを復元したときにファイルを解凍しませんでした。愚かな私は愚かな私は多量のアルコールなしでプログラミングに値するものを取得します。

+0

溶液におめでとう!あなたができるときは、他の人があなたの成功から学ぶかもしれないようにあなたの答えを「受け入れられた」とマークしてください。乾杯〜 –

関連する問題