Holen Sie sich iPhone-Handy-Nummer-Etikett aus dem Adressbuch
Also ich habe eine Methode, um alle Telefonnummern aus dem Adressbuch auf dem iPhone, aber es ist ein Weg, um die Telefonnummer-label? Zum Beispiel können Sie dies tun:
Und ich würde auf der Suche um zu ändern, meine Methode drucken Sie das Etikett (wie iPhone/Home/mobile/etc.).
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef all = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex n = ABAddressBookGetPersonCount(addressBook);
for( int i = 0 ; i < n ; i++ )
{
ABRecordRef ref = CFArrayGetValueAtIndex(all, i);
NSString *firstName = (NSString *)ABRecordCopyValue(ref, kABPersonFirstNameProperty);
NSLog(@"Name %@", firstName);
ABMultiValueRef *phones = ABRecordCopyValue(ref, kABPersonPhoneProperty);
for(CFIndex j = 0; j < ABMultiValueGetCount(phones); j++)
{
NSString *phoneLabel = @""; //???
CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(phones, j);
//CFRelease(phones);
NSString *phoneNumber = (NSString *)phoneNumberRef;
CFRelease(phoneNumberRef);
NSLog(@" - %@ (%@)", phoneNumber, phoneLabel);
[phoneNumber release];
}
}
InformationsquelleAutor der Frage ingh.am | 2011-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach verwenden -
BEARBEITEN
Bitte beachten Sie hierzu die Hinweise für diese Antwort über
CFBridgingRelease
und__bridge_transfer
.InformationsquelleAutor der Antwort shannoga
InformationsquelleAutor der Antwort abhi
Wenn Sie das hinzufügen von Datensätzen zu dem Adressbuch, werden diese vordefinierten Konstanten sein können, was Sie wollen,
kABPersonPhoneMobileLabel
kABPersonPhoneIPhoneLabel
die in der Datei definiert ABPerson.h.InformationsquelleAutor der Antwort Dawn Song
sollte Folgendes helfen:
InformationsquelleAutor der Antwort reflog