I am getting a issue with NSMutableArray
. I have used that to store contact details form address book. I have 300 contacts in address book.
But my app is going to crashes. I have used this code
+(NSMutableArray *)getcontactdetails
{
ABAddressBookRef addressBook;
CFArrayRef allSources;
NSMutableArray *list = [[NSMutableArray alloc] init];
addressBook = ABAddressBookCreate();
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook);
allSources = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source, kABPersonFirstNameProperty);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
if(nPeople != 0){
for (CFIndex i = 0; i < nPeople; i++)
{
//common field
NSString *first_name =[[[NSString alloc] init] autorelease];
contact_details *phone_book_data=[[contact_details alloc] init];
ABRecordRef aSource = CFArrayGetValueAtIndex(allSources,i);
CFStringRef firstName = ABRecordCopyValue(aSource, kABPersonFirstNameProperty);
first_name=[NSString stringWithFormat:@"%@",firstName];
if ([first_name isEqualToString:@"(null)"] || first_name == nil || first_name.length == 0) {
}
else{
phone_book_data.FirstName=[NSString stringWithFormat:@"%@",first_name];
}
[list addObject:phone_book_data];
phone_book_data=nil;
[phone_book_data release];
}
CFRelease(allSources);
}
[self current_function_name:@"Finished getcontactdetails"];
return list;
}
I have got these on console:
Sep 3 23:09:20 iPhone ReportCrash[1378] : Formulating crash report for process intooch[1373] Sep 3 23:09:21 iPhone com.apple.launchd[1] (UIKitApplication:com.inTooch.inTooch[0x6b8a][1373]) : (UIKitApplication:com.inTooch.inTooch[0x6b8a]) Job appears to have crashed: Segmentation fault: 11 Sep 3 23:09:21 iPhone SpringBoard[52] : Application 'inTooch' exited abnormally with signal 11: Segmentation fault: 11 Sep 3 23:09:21 iPhone ReportCrash[1378] : libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0
How I fixed that issue?
Thanks in advance.....