iOS 6 Adressbuch funktioniert nicht?

Meine Methode zum programmgesteuerten Abrufen von E-Mail-Adressen aus dem Adressbuch scheint auf iOS 6-Geräten nicht mehr zu funktionieren. Es hat in iOS 5 funktioniert und funktioniert seltsamerweise immer noch im iOS 6-Simulator. Gibt es eine neue Methode zum programmgesteuerten Abrufen von Kontakten aus dem Adressbuch eines Benutzers?

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);

self.contacts = [[NSMutableArray alloc] init];

int contactIndex = 0;
for (int i = 0; i < nPeople; i++) {
    // Get the next address book record.
    ABRecordRef record = CFArrayGetValueAtIndex(allPeople, i);        

    // Get array of email addresses from address book record.
    ABMultiValueRef emailMultiValue = ABRecordCopyValue(record, kABPersonEmailProperty);
    NSArray *emailArray = (__bridge_transfer NSArray *)ABMultiValueCopyArrayOfAllValues(emailMultiValue);

    [self.contacts addObject:emailArray];
}

Zur Verdeutlichung stürzt das Obige nicht ab, es gibt einfach keine Ergebnisse zurück. ABAddressBookCopyArrayOfAllPeople ist leer. Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage