ABAddressBookGetPersonCount(ab) problem
- by prathumca
Why the call to ABAddressBookGetPersonCount(ab); is giving the problem? I have around 2000 contacts in my address book. When my app gets started I'm trying to read the entire address book. This works perfectly on simulator but causing crash on IPhone. The crash report is pointing to
9 AppSupport 0x31fbca1e 0x31fb6000 + 27166 //
CPRecordStoreGetCountOfInstancesOfClassWhere + 0x7e
10 AddressBook 0x318df668 0x318d5000 + 42600 //
ABCGetPersonCountInStore + 0x88
11 AddressBook 0x318ea450 0x318d5000 + 87120 //
ABAddressBookGetPersonCount + 0x8
12 MyAddressBook 0x0000ad30 0x1000 + 40240 //
-[MyAddressBookController readAB] + 0x2c0
13 MyAddressBook 0x0000a8ce 0x1000 + 39118 //
-[MyAddressBookController start] + 0x4a
What I'm doing in "readAB"?
- (void) readAB
{
ABAddressBookRef ab = ABAddressBookCreate();
CFArrayRef contacts = ABAddressBookCopyArrayOfAllPeople(ab);
CFIndex count = ABAddressBookGetPersonCount(ab);
for(int i = 0; i < count; i++)
{
//doing some thing...
}
}
If you observe the above crash report, it is clearly pointing to
CFIndex count = ABAddressBookGetPersonCount(ab);. Whats wrong with this code? I'm sure that this code works perfectly on firmware 3.1.2. But now I upgraded firmware to 3.1.3. Is this upgrade is causing any trouble?
Regards,
prathumca.