Как использовать приложение ABAddressBookRef for iPhone? - PullRequest
2 голосов
/ 23 марта 2011

Я хочу ссылку на мою адресную книгу в одном из приложений iPhone.Я использовал приведенный ниже код.Но он показывает [количество людей] = 0.

У меня есть 3-4 контакта в приложении адресной книги, но [количество людей] возвращает ноль.

Что-то еще, я здесь скучаю?1005 *

Код:

ABAddressBookRef addressBook = ABAddressBookCreate();

    NSMutableArray *people = [[[(NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook) autorelease] mutableCopy]autorelease];
    [people sortUsingFunction:(int (*)(id,id,void*)) ABPersonComparePeopleByName context:(void*)ABPersonGetSortOrdering()];
    NSLog(@"count..%i",[people count]);

    for(int i = 0 ; i < [people count]; i++){
        ABRecordRef person = [people objectAtIndex:i];
        //get phone no fill phone no into  array
        ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonPhoneProperty);
        if(multi!=NULL && ABMultiValueGetCount(multi)>0) {
            NSLog(@"in value..");
        }
        else {
            NSLog(@"no value");
        }

    }

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 марта 2011

попробуйте это -

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef people;
people = ABAddressBookCopyArrayOfAllPeople(HiByeGroup);

if (people){
   CFArrayCreateMutableCopy(kCFAllocatorDefault,CFArrayGetCount(people),people);
    NSInteger numberOfPersonsInAB=CFArrayGetCount(peopleMutable);

    for (int i =0; i< numberOfPersonsInAB; i++) {
        //your code
       }
 CFRelease(people);

UPdate Как отметил Джеймон Холмгрен, этот ответ устарел и ABAddressBookCreate() устарел в iOS6.Вам нужно использовать ABAddressBookCreateWithOptions() вместо.УДАЧИ

1 голос
/ 01 сентября 2011

Просто следуйте приведенному здесь коду.Прекрасный пример для взаимодействия с ABAddressBook .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...