Доступ ко всей адресной книге Iphone

Я разрабатываю приложение для резервного копирования всей адресной книги в amazon s3, но я не могу найти какой-либо прямой api iphone, чтобы поместить всю адресную книгу в какую-либо структуру данных.

Я попробовал следующий код, чтобы записать массив адресной книги в файл в каталоге документов

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *addressPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"AddressBook.plist"];


ABAddressBookRef addressBook = ABAddressBookCreate();

NSMutableArray *allPeople = [[[(NSArray*) ABAddressBookCopyArrayOfAllPeople(addressBook)autorelease]mutableCopy]autorelease];

[allPeople writeToFile:addressPath atomically:YES];

Но проблема в том, что файл не создается в каталоге документов ....

Любые предложения приветствуются ....

Заранее спасибо...


person Fedrick    schedule 17.06.2010    source источник


Ответы (2)


Я не уверен на 100%, но доступ ко всей адресной книге сразу, вероятно, не разрешен. У Apple есть AddressBookPeoplePicker не просто так, хотя выбирать всех в AddressBook по одному человеку за раз было бы неудобно.

Вы можете настроить цикл для прогона адресной книги программно. Затем добавьте его в свой собственный NSMutableArray.

person OscarTheGrouch    schedule 17.06.2010
comment
Спасибо за ответ .... да, единственный способ - просмотреть всю адресную книгу - person Fedrick; 17.06.2010

Вам потребуется эта функция: http://developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABPersonRef_iPhoneOS/Reference/reference.html#//apple_ref/doc/uid/TP40007210

Возвращается массив всех людей. Прочтите документацию для получения дополнительной информации. Удачи!

person Ayush Goel    schedule 29.10.2012