title: Strange behavior of iOS simulator and real device(contacts+nsdictionary)
body: <p>Now i ve got this code:</p>
  
  <pre><code>-(void)getContacts{
  ABAddressBookRef currentAddressBook = ABAddressBookCreate();
  if (currentAddressBook) {
      CFArrayRef allBook = ABAddressBookCopyArrayOfAllPeople(currentAddressBook);
      if (allBook) {
          for (int index=0; index &lt; CFArrayGetCount(allBook); index++){
              ABRecordRef currentPerson = CFArrayGetValueAtIndex(allBook, index);
  
              NSString *firstName = (__bridge NSString *)ABRecordCopyValue(currentPerson, kABPersonFirstNameProperty);
              NSString *lastName = (__bridge NSString *)ABRecordCopyValue(currentPerson, kABPersonLastNameProperty);
              NSData *imageData = (__bridge NSData*)ABPersonCopyImageDataWithFormat(currentPerson, kABPersonImageFormatThumbnail);  
              NSMutableArray *tempArrayForPhones = [[NSMutableArray alloc] init];
  
              ABMultiValueRef phoneNumbersMultiValue = ABRecordCopyValue(currentPerson, kABPersonPhoneProperty);
              for(CFIndex counter = 0; counter &lt; ABMultiValueGetCount(phoneNumbersMultiValue); counter++){
                  CFStringRef currentLabel = ABMultiValueCopyLabelAtIndex(phoneNumbersMultiValue, counter);
                  NSString *phoneLabel =(__bridge NSString*) ABAddressBookCopyLocalizedLabel(currentLabel);
  
                  CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(phoneNumbersMultiValue, counter);
                  currentLabel = ABMultiValueCopyLabelAtIndex(phoneNumbersMultiValue, counter);
                  phoneLabel =(__bridge NSString*) ABAddressBookCopyLocalizedLabel(currentLabel);
                  NSString *phoneNumber = (__bridge NSString *)phoneNumberRef;
                  CFRelease(phoneNumberRef);
                  CFRelease(currentLabel);
                  NSDictionary *tempDictForPhonew = [NSDictionary dictionaryWithObjectsAndKeys:phoneNumber,@"number",
                                                                                              phoneLabel,@"label",
                                                                                              nil];
                  [tempArrayForPhones addObject:tempDictForPhonew];
              }
              NSDictionary *dictionaryWithAddressBook = [NSDictionary dictionaryWithObjectsAndKeys:firstName,@"firstName",
                                                                                                  lastName,@"lastName",
                                                                                                  imageData,@"image",
                                                                                                  tempArrayForPhones,@"phones",
                                                                                                  nil];
              tempArrayForPhones = nil;
              [dataArray addObject:dictionaryWithAddressBook];
  
              CFRelease(phoneNumbersMultiValue);
          }
          CFRelease(allBook);
      }
      CFRelease(currentAddressBook);
  }
  }
  </code></pre>
  
  <p>all works fine on simulator, i get array with dictionary, which contains all fields i need. But when i run code on real device(iOS 5.1) dictionary got only first name and last name.
  I tried to do some nslog around initializing dictionary, and temp dictionary with phones and image data existed, but not in final dataArray. Whats wrong?</p>