2015-10-14 10 views
6

provo a prendere imageData dopo refetching CNContact utilizzando unifiedContactWithIdentifier: keysToFetch: errore: e usando CNContactImageDataKey, in Objective C.ios 9 Contatti rilancio quadro sempre la lettura eccezione imageData in Objective C

Durante il runtime ho sempre lo stesso eccezione CNPropertyNotFetchedException anche il recupero del contatto e il controllo dell'immagineData chiama imageDataAvailable. Non ha senso. Lo stesso codice in swift funziona alla grande.

Quindi, ci sono problemi in Contact framework per l'obiettivo C?

Utilizzo XCode 7.0 su iPhone 6 Plus con iOS 9.0.2.

Ecco il codice:

// ... 
// ... 

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

qualcuno mi può aiutare? Michele, Michele

+1

Possiamo aiutarti dopo aver seguito le linee guida della guida. In particolare, controlla http://stackoverflow.com/help/mcve – Prune

risposta

9

È necessario aggiungere CNContactImageDataAvailableKey e CNContactThumbnailImageDataKey alle proprie chiaviToFetch.

0

@ La risposta elettronica è parzialmente a destra. Dobbiamo aggiungere CNContactImageDataKey nelle chiaviToFetch. In caso contrario, l'app si arresterà in modo anomalo su imageData.