Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -(NSString *)fullNameForPhone:(NSString *)ph withAlternativeText:(NSString *)text
- {
- ABAddressBookRef addressBookRef = ABAddressBookCreate();
- NSLog(@"create addressBookRef");
- NSString *stringToReturn = text;
- CFArrayRef allPeopleRef = ABAddressBookCopyArrayOfAllPeople(addressBookRef);
- NSLog(@"create allPeopleRef");
- CFIndex nPeople = ABAddressBookGetPersonCount(addressBookRef);
- int i = 0;
- BOOL nameFound = NO;
- while ((i < nPeople) && (!nameFound))
- {
- ABRecordRef recordRef = CFArrayGetValueAtIndex(allPeopleRef, i);
- NSLog(@" create recordRef");
- CFStringRef allRecordPhonesRef = ABRecordCopyValue(recordRef, kABPersonPhoneProperty);
- NSLog(@" create allRecordPhonesRef");
- CFIndex nPhones = ABMultiValueGetCount(allRecordPhonesRef);
- int currentPhone = 0;
- for (currentPhone = 0; currentPhone < nPhones; currentPhone++)
- {
- CFStringRef currentPhoneNumberRef = ABMultiValueCopyValueAtIndex(allRecordPhonesRef, currentPhone);
- NSLog(@" create currentPhoneNumberRef");
- NSString *currentCleanPhoneNumber = [self cleanPhoneNumberForString:[NSString stringWithFormat:@"%@", currentPhoneNumberRef]];
- if (currentPhoneNumberRef!=NULL)
- {
- NSLog(@" release currentPhoneNumberRef");
- CFRelease(currentPhoneNumberRef);
- }
- if ([ph isEqualToString:currentCleanPhoneNumber])
- {
- CFStringRef firstName = ABRecordCopyValue(recordRef, kABPersonFirstNameProperty);
- CFStringRef lastName = ABRecordCopyValue(recordRef, kABPersonLastNameProperty);
- NSString *fullName = [self fullNameForFirstName:[NSString stringWithFormat:@"%@", firstName]
- andLastName:[NSString stringWithFormat:@"%@", lastName]];
- if (firstName != NULL)
- CFRelease(firstName);
- if (lastName != NULL)
- CFRelease(lastName);
- stringToReturn = fullName;
- nameFound = YES;
- break;
- }
- }
- CFRelease(allRecordPhonesRef);
- NSLog(@" release allRecordPhonesRef");
- CFRelease(recordRef);
- NSLog(@" release recordRef");
- i++;
- }
- CFRelease(allPeopleRef);
- NSLog(@"release allPeopleRef");
- CFRelease(addressBookRef);
- NSLog(@"release addressBookRef");
- return stringToReturn;
- }
- 2009-07-31 00:20:05.230 abmodular[21747:20b] create addressBookRef
- 2009-07-31 00:20:05.231 abmodular[21747:20b] create allPeopleRef
- 2009-07-31 00:20:05.231 abmodular[21747:20b] create recordRef
- 2009-07-31 00:20:05.232 abmodular[21747:20b] create allRecordPhonesRef
- 2009-07-31 00:20:05.232 abmodular[21747:20b] create currentPhoneNumberRef
- 2009-07-31 00:20:05.232 abmodular[21747:20b] release currentPhoneNumberRef
- 2009-07-31 00:20:05.232 abmodular[21747:20b] create currentPhoneNumberRef
- 2009-07-31 00:20:05.233 abmodular[21747:20b] release currentPhoneNumberRef
- 2009-07-31 00:20:05.233 abmodular[21747:20b] release allRecordPhonesRef
- 2009-07-31 00:20:05.233 abmodular[21747:20b] release recordRef
- 2009-07-31 00:20:05.233 abmodular[21747:20b] create recordRef
- 2009-07-31 00:20:05.234 abmodular[21747:20b] create allRecordPhonesRef
- 2009-07-31 00:20:05.234 abmodular[21747:20b] create currentPhoneNumberRef
- 2009-07-31 00:20:05.234 abmodular[21747:20b] release currentPhoneNumberRef
- 2009-07-31 00:20:05.234 abmodular[21747:20b] release allRecordPhonesRef
- 2009-07-31 00:20:05.235 abmodular[21747:20b] release recordRef
- 2009-07-31 00:20:05.235 abmodular[21747:20b] release allPeopleRef
- [Session started at 2009-07-31 00:20:05 +0400.]
- GNU gdb 6.3.50-20050815 (Apple version gdb-966)
- ....
- Attaching to process 21747.
- kill
- quit
- The Debugger has exited with status 0.(gdb)
- ABRecordRef recordRef = CFArrayGetValueAtIndex(allPeopleRef, i);
- CFRelease(recordRef);
- CFRelease(allPeopleRef);
Add Comment
Please, Sign In to add comment