Я пытаюсь сохранить копию всех записей в адресной книге, сохранить ее в файл как 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, я сломал свой мозг без результата ,
Заранее спасибо.
С. * * +1010