2010-07-28 3 views
0

Je suis novice en matière de programmation de carnet d'adresses. Je souhaite récupérer tous les identifiants d'e-mails du carnet d'adresses. Le problème se situe au-dessous du code: toutes les données d'un enregistrement (une personne) sont récupérées. mais quand j'ajoute plus d'un contact dans le carnet d'adresses. il écrase sans montrer aucune exception.Problème concernant la récupération de tous les identifiants d'e-mail du carnet d'adresses dans l'iphone

Des suggestions? Merci d'avance.

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


ABAddressBookRef addressBook = ABAddressBookCreate(); 

NSArray *addresses = (NSArray *) ABAddressBookCopyArrayOfAllPeople(addressBook); 

// you could probably do some kind of enumeration but I'm doing old fashoined way 
int i; 
for(i = 0; i < [addresses count]; i++) { 
    ABRecordRef record = [addresses objectAtIndex:i]; 


    ABMultiValueRef multiValue = ABRecordCopyValue(record, kABPersonEmailProperty); 
    NSLog(@"%@",multiValue); 

    int count = ABMultiValueGetCount(multiValue); 
    NSLog(@"%d",count); 
    int j; 
    for(j = 0; j < count; j++) { 
     NSString *label = (NSString *)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(multiValue, i)); 
     NSString *value = (NSString *)ABMultiValueCopyValueAtIndex(multiValue, i); 

     //NSLog(@"Email for %@: %@", label, value); 
     [pastUrls addObject:value]; 


    } 
} 

Cordialement, sathish

+0

Votre code fuit une mémoire de beaucoup. – Eric

Répondre

1

Address Book Programming Guide for iOS Apple comprend un exemple de projet qui vous lancer des principes généraux pour l'accès aux données du carnet d'adresses, y compris les adresses e-mail.

Questions connexes