2015-10-14 9 views
6

próbuję sprowadzić imageData po refetching CNContact użyciu unifiedContactWithIdentifier: keysToFetch: error: i za pomocą CNContactImageDataKey, w obiektywnych Cios 9 Kontakt ramy podbicie zawsze imageData czytanie wyjątek w Objective C

Podczas wykonywania mam zawsze ten sam wyjątek CNPropertyNotFetchedException nawet ponownie pobiera kontakt i sprawdza imageData nazywając imageDataAvailable. To nie ma sensu. Ten sam kod w wersji szybkiej działa doskonale.

Czy są więc problemy z punktem kontaktowym dla celu C?

Używam budynku XCode 7.0 na iPhone 6 Plus z iOS 9.0.2.

Oto kod:

// ... 
// ... 

if([currentNativeContact isKeyAvailable:CNContactImageDataKey] && 
    currentNativeContact.imageDataAvailable) { 
    previewImage = [UIImage imageWithData:currentNativeContact.thumbnailImageData]; 
}        
else { 
    NSError *error; 
    currentNativeContact = [self.contactsStore unifiedContactWithIdentifier:currentNativeContact.identifier keysToFetch:@[CNContactImageDataKey] error:&error]; 
    if(!error && currentNativeContact.imageDataAvailable) 
     previewImage = [UIImage imageWithData:currentNativeContact.thumbnailImageData];        
} 

może ktoś mi pomóc? Dzięki Michele

+1

Możemy pomóc, gdy zastosujesz się do wskazówek pomocy. W szczególności sprawdź http://stackoverflow.com/help/mcve – Prune

Odpowiedz

9

Trzeba dodać CNContactImageDataAvailableKey i CNContactThumbnailImageDataKey do keysToFetch.

0

@Eric odpowiedź jest częściowo w porządku. Musimy dodać CNContactImageDataKey w keysToFetch. W przeciwnym razie aplikacja wyświetli awarię obrazu.