繁体   English   中英

在iOS 5.0 / XCode 4.2中使用带有ABAddressBook的VCards

[英]Using VCards with ABAddressBook in iOS 5.0/XCode 4.2

我正在尝试保存地址簿中所有条目的副本,将其作为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);
 }

我使用了从一个来源复制联系人到另一个来源的接收端发布的解决方案,但它不起作用,并且由于Apple方面的模糊文档,我已经破坏了我的大脑没有结果。

提前致谢。

S.

没关系。 我发现了我的问题。 我恢复文件时没有取消归档文件。 愚蠢的我得到了我没有应得的编程,没有大量的酒精。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM