Ich fand eine ähnliche Frage hier: iOS 8 (Swift) How do I get rid of this error: ImageIO: PNG zlib error? jedoch gibt es einige Unterschiede.Photos.framework wirft <Error>: ImageIO: PNG zlib Fehler aber immer noch UIImage
Ich bekomme die PHAsset
von einem Picker - wo das Bild ordnungsgemäß heruntergeladen und angezeigt wird (Es verwendet die PHCachingImageManager
Klasse).
Aber, wenn ich versuche, das Bild zu beantragen später aus der Asset etwa so:
[[PHImageManager defaultManager] requestImageForAsset:asset targetSize:AssetTargetSize
contentMode:PHImageContentModeAspectFit options:nil
resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
if (result)
_image = result;
}
der result
Variable ein Zeiger auf ein UIImage
Objekt ist aber nicht gültig ist - ich es nicht in NSData verwandeln kann noch Ich blicke schnell durch xcode.
Im Protokoll bekomme ich nur die folgende Nachricht: <Error>: ImageIO: PNG zlib error
und nichts mehr.
Ich versuchte, die Anfrage synchron zu machen, wie in der verknüpften Frage vorgeschlagen, aber es machte keinen Unterschied.
Das Bild, auf das die PHAsset
zeigt, kann sowohl in der Foto-App als auch im Foto-Picker angezeigt werden.
"Ich habe versucht, die Anfrage synchron zu machen, wie vorgeschlagen ..." Können Sie Ihre aktualisierten Code zur Verfügung stellen, bitte? Es würde auch helfen, in der Lage zu sehen, wie Sie AssetTargetSize setzen ... – jperl
@KickimusButticus Da es nicht funktioniert habe ich meinen Code zurück zu dem, was geschrieben wird (ich würde lieber asynchron), aber es wurde durch die Erstellung der Optionsklasse und ändert nur die synchrone Eigenschaft zu "YES". 'AssetTargetSize' ist eine statische Konstante vom Typ' CGSize', die vorerst fest codiert ist. Dieser Code funktioniert die meiste Zeit, aber ich bekomme diesen Fehler ohne zusätzliche Informationen für einige Bilder - aber da das Bild in den Bilderwähler geladen wird - bezweifle ich, dass dies ein Problem mit meinen Bildern ist –
mein ganzes quadratisches Bild durch die Kamera .app bekomme den gleichen Fehler – qiz