Thursday, 8 March 2012

how to make .Vcf file

 ABAddressBookRef addressBook = ABAddressBookCreate();
    CFArrayRef contacts = ABAddressBookCopyArrayOfAllPeople(addressBook);
    CFDataRef vcards = (CFDataRef)ABPersonCreateVCardRepresentationWithPeople(contacts);
   
    NSString *vcardString = [[NSString alloc] initWithData:(NSData *)vcards encoding:NSUTF8StringEncoding];
   
    NSError *error;
    NSFileManager *fileMgr = [NSFileManager defaultManager];
       
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *folderPath = [paths objectAtIndex:0];
    NSString *filePath = [folderPath stringByAppendingPathComponent:@"contacts.vcf"];
   
    [vcardString writeToFile:filePath atomically:YES encoding:NSStringEncodingConversionAllowLossy error:nil];
   
    NSLog(@"Documents directory: %@",[fileMgr contentsOfDirectoryAtPath: folderPath error:&error]);
   
    CFRelease(addressBook);

1 comment:

  1. I want to make .vcf file and using your code but its not making any file in my document directory. The vcard string is generated properly.

    ReplyDelete