iPhone ABAddressBookRef.Получить все данные - PullRequest
0 голосов
/ 25 августа 2011

Я работал с платформой AddressBook (iPhone SDK). Я отобразил свои контакты как контроллер модального вида и просмотрел их. Интересно, возможно ли получить все данные о контактах без этого модального контроллера вида и взаимодействия с человеком.

P.S. кажется, что это НЕ из-за политики Apple, но мне все еще нужен ответ «100% уверен»

1 Ответ

2 голосов
/ 28 августа 2011

Чтобы получить массив всех контактов, используйте функцию ABAddressBookCopyArrayOfAllPeople следующим образом:

- (void)viewDidLoad
{
    [super viewDidLoad];
    ABAddressBookRef addressBook = ABAddressBookCreate();
    if (addressBook != nil)
    {
        NSLog(@"Successfully accessed the address book.");
        CFArrayRef arrayOfAllPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
        if (arrayOfAllPeople != nil)
        {
            NSUInteger peopleCounter=0;
            for (peopleCounter=0;peopleCounter<CFArrayGetCount(arrayOfAllPeople); peopleCounter++)
            {
                ABRecordRef thisPerson=CFArrayGetValueAtIndex(arrayOfAllPeople,peopleCounter);
                NSLog(@"%@", thisPerson);
                /* Use the [thisPerson] address book record */
            }
            CFRelease(arrayOfAllPeople);
        }
        /* if (allPeople != nil){ */
        CFRelease(addressBook);
    } /* if (addressBook != nil){ */
}
...