pull/1/head
Rainer Killinger 10 years ago
parent 3113665f08
commit df89f4e00f

@ -174,14 +174,19 @@ void onAddressBookChanged(ABAddressBookRef notifyAddressBook, CFDictionaryRef in
} }
-(NSArray*) getContactsFromAddressBook:(ABAddressBookRef)addressBook { -(NSArray*) getContactsFromAddressBook:(ABAddressBookRef)addressBook {
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook); CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFMutableArrayRef allPeopleMutable = CFArrayCreateMutableCopy(kCFAllocatorDefault,
CFArrayGetCount(allPeople),allPeople);
NSArray *allPeople = (__bridge_transfer NSArray *) CFArraySortValues(allPeopleMutable,CFRangeMake(0, CFArrayGetCount(allPeopleMutable)),
(ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, (CFComparatorFunction)ABPersonComparePeopleByName,
source, (void*)(unsigned long)ABPersonGetSortOrdering());
kABPersonSortByFirstName));
return [allPeople map:^id(id item) { NSArray *sortedPeople = (__bridge_transfer NSArray *)allPeopleMutable;
CFRelease(allPeople);
return [sortedPeople map:^id(id item) {
return [self contactForRecord:(__bridge ABRecordRef)item]; return [self contactForRecord:(__bridge ABRecordRef)item];
}]; }];
} }

Loading…
Cancel
Save