我正在尝试保存地址簿中所有条目的副本,将其作为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 :(得分:0)
没关系。我发现了我的问题。我恢复文件时没有取消归档文件。愚蠢的我得到了我没有应得的编程,没有大量的酒精。