Я пытаюсь сохранить копию всех записей в адресной книге, сохранить ее в файл в виде vcards и затем извлечь этот файл (или версию этого файла) и добавьте их обратно в адресную книгу, когда мне это нужно, в контексте резервного копирования. Я знаю, что этот вопрос был задан ранее, но для жизни меня (и моих newbish навыков программирования) я не могу заставить его работать:Использование VCards с ABAddressBook в iOS 5.0/XCode 4.2
- (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.
Поздравляем с решением! Когда вы в состоянии, пожалуйста, отметьте свой ответ как «принятый», чтобы другие могли узнать о вашем успехе. Приветствия ~ –