2015-10-14 6 views
6

ich versuche nach imagedata Erneutes Abrufen CNContact mit unifiedContactWithIdentifier zu holen: keysToFetch: Fehler: und mit CNContactImageDataKey, in Objective C.ios 9 Kontakte Rahmen Raise immer imagedata Ausnahme Lesung in Objective C

Während der Laufzeit, ich habe immer die gleiche Ausnahme CNPropertyNotFetchedException, die den Kontakt erneut aufruft und imageData aufruft, die imageDataAvailable aufruft. Es macht keinen Sinn. Derselbe Code in Swift funktioniert großartig.

Gibt es Probleme im Kontakt-Framework für Ziel C?

Ich verwende XCode 7.0 aufbauend auf iPhone 6 Plus mit iOS 9.0.2.

Hier ist der Code:

// ... 
// ... 

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];        
} 

Kann mir jemand helfen? Danke, Michele

+1

Wir können Ihnen helfen, nachdem Sie die Hilfe-Richtlinien befolgt haben. Bitte überprüfen Sie insbesondere http://stackoverflow.com/help/mcve – Prune

Antwort

9

Sie müssen CNContactImageDataAvailableKey und CNContactThumbnailImageDataKey zu Ihrem keysToFetch hinzufügen.

0

@Eric Antwort ist teilweise richtig. Wir müssen CNContactImageDataKey in keysToFetch hinzufügen. Andernfalls wird die App auf imageData abstürzen.