2016-02-17 3 views
0

Ниже мой код, но с этим кодом я не могу получить изображение для любого контакта. Пожалуйста, помогите мне в этом.не может получить изображения для любого контакта из контактной книги

- (void)loadAddressBook 
{ 
arrContacts = [[NSMutableArray alloc]init]; 
APAddressBook *addressBook = [[APAddressBook alloc] init]; 
[addressBook loadContacts:^(NSArray <APContact *> *contacts, NSError *error) 
{ 
    if (!error) 
    { 
     for (APContact *strcontact in contacts) 
     { 
      NSMutableDictionary *addressDict=[[NSMutableDictionary alloc]init]; 
      [addressDict setValue:strcontact.name.compositeName forKey:COMPOSITENAME]; 
      if (strcontact.thumbnail != nil) 
      { 
       NSData *imgData = [NSData dataWithData:UIImagePNGRepresentation(strcontact.thumbnail)]; 
       // From data to string 
       NSString *strImage = [[NSString alloc] initWithData:imgData encoding:NSUTF8StringEncoding]; 
       [addressDict setObject:strImage forKey:IMAGE]; 
      }else { 
       [addressDict setObject:NOIMAGE forKey:IMAGE]; 
      } 
      for (APPhone *phones in strcontact.phones) { 
       // NSLog(@"Number %@",phones.number); 
       [addressDict setValue:phones.number forKey:PHONE]; 
      } 
      for (APEmail *emails in strcontact.emails) { 
       // NSLog(@"Emails %@",emails.address); 
       [addressDict setValue:emails.address forKey:EMAIL]; 
      } 
      for (APAddress *address in strcontact.addresses) { 
       // NSLog(@"Number %@",phones.number); 
       [addressDict setValue:address forKey:ADDRESS]; 
      } 
      NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
      formatter.dateFormat = @"dd.MM.yyyy"; 
      NSString *strDate = [formatter stringFromDate:[NSDate date]]; 
      [addressDict setValue:strDate forKey:IMPORTDATE]; 
      [arrContacts addObject:addressDict]; 
     } 
     [tblmportContacts reloadData]; 
    } 
    else 
    { 
     // show error 
    } 
}]; 
} 

Я получаю все детали, но не могу получить изображения из APAddressBook. Просьба предоставить решение для этого.

+0

Нужно ли вам поддерживать iOS8? – Lubakis

+0

Да. Но это не работает. Как я могу достичь этого? – DJ1

+1

Пробовал ли вы '' addressBook.fieldsMask = APContactFieldAll; ''? – Allen

ответ

1

Попробуйте код ниже.

addressBook.fieldsMask = APContactFieldAll;