Ho trovato una domanda simile qui: iOS 8 (Swift) How do I get rid of this error: ImageIO: PNG zlib error? tuttavia ci sono alcune differenze.Photos.framework genera <Error>: ImageIO: errore zlib PNG ma fornisce ancora UIImage
Ottengo il PHAsset
da un selettore, in cui l'immagine viene scaricata e visualizzata correttamente (utilizza la classe PHCachingImageManager
).
Ma, quando si tenta di richiedere l'immagine in seguito dalla Asset in questo modo:
[[PHImageManager defaultManager] requestImageForAsset:asset targetSize:AssetTargetSize
contentMode:PHImageContentModeAspectFit options:nil
resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
if (result)
_image = result;
}
la variabile result
è un puntatore ad un oggetto UIImage
ma non è valido - non posso trasformarlo in NSData né può Ho una rapida occhiata a xcode.
Nel registro ho appena ricevuto il seguente messaggio: <Error>: ImageIO: PNG zlib error
e nient'altro.
Ho provato a rendere la richiesta sincrona come suggerito nella domanda collegata, ma non ha fatto alcuna differenza.
L'immagine puntata da PHAsset
è visualizzabile sia nell'app Foto che nel selettore foto.
"Ho cercato di fare la richiesta sincrona come suggerito ..." Potete fornire il codice aggiornato, per favore? Aiuta anche a vedere come stai impostando AssetTargetSize ... – jperl
@KickimusButticus Dal momento che non ha funzionato ho ripristinato il mio codice su ciò che è scritto (preferirei asincrono), tuttavia è stato fatto creando classe di opzioni e solo cambiando la proprietà sincrona a 'SÌ'. 'AssetTargetSize' è un const statico di tipo' CGSize' che per ora è hardcoded. Questo codice funziona la maggior parte del tempo, tuttavia ottengo questo errore senza alcuna informazione aggiuntiva per alcune immagini - ma poiché l'immagine è caricata nel selettore di immagini - dubito che questo sia un problema con le mie immagini –
tutte le immagini quadrate scattate dalla fotocamera .app ottieni lo stesso errore – qiz