2011-12-21 74 views
4

我試圖保存地址簿中所有條目的副本,將它作爲電子名片保存到文件中,然後檢索該文件(或該文件的一個版本)並在備份上下文時將它們添加回地址簿中。我知道這個問題已經被問過,但我(和我的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張貼接收端的解決方案,但它不起作用,並且由於蘋果方面的模糊文檔,我沒有得到任何結果。

在此先感謝。

S.

回答

0

沒關係。我發現我的問題。我在恢復文件時沒有對這些文件進行歸檔。愚蠢的我得到了什麼愚蠢的我值得編程沒有大量的酒精。

+0

祝賀解決方案!如果可以,請確保將您的答案標記爲「已接受」,以便其他人可以從您的成功中學習。乾杯〜 – 2011-12-22 01:38:11

相關問題