Nach Update auf iOS 11, Foto Assets jetzt lädt langsam zu laden und ich bekomme diese Meldung in der Konsole:iOS 11: [Imagemanager] Unable Bilddaten
[Imagemanager] Unable Bilddaten zu laden, /var/mobile/Medien/DCIM/103APPLE/IMG_3064.JPG
ich verwende statische Funktion Bild zu laden:
class func getAssetImage(asset: PHAsset, size: CGSize = CGSize.zero) -> UIImage? {
let manager = PHImageManager.default()
let option = PHImageRequestOptions()
option.isSynchronous = true
var assetImage: UIImage!
var scaleSize = size
if size == CGSize.zero {
scaleSize = CGSize(width: asset.pixelWidth, height: asset.pixelHeight)
}
manager.requestImage(for: asset, targetSize: scaleSize, contentMode: .aspectFit, options: option) { (image, nil) in
if let image = image {
assetImage = image
}
}
if assetImage == nil {
manager.requestImageData(for: asset, options: option, resultHandler: { (data, _, orientation, _) in
if let data = data {
if let image = UIImage.init(data: data) {
assetImage = image
}
}
})
}
return assetImage
}
anfordern Bild für das Asset in der Regel immer erfolgreich ist, aber es druckt diese Nachricht. Wenn ich nur die requestImageData-Funktion verwende, gibt es keine solche Nachricht, aber Fotos, die mit einer Apple-Kamera erstellt wurden, verlieren ihre Orientierung und ich bekomme beim Laden einer großen Menge von Bildern noch mehr Probleme (ich verwende Bild-Diashow in meiner App).
Apple ist immer nervig, wenn es um Updates geht, vielleicht hat jemand eine Lösung, wie man das beheben kann? Es kann sogar ein Asset nicht laden, wenn es eine große Liste in der Benutzerkamera gibt. Der Wechsel zu requestImageData ist für mich keine Option, da jetzt häufig keine Daten mehr vorhanden sind.
Ich möchte darauf hinweisen, dass ich diese Funktion nur einmal anrufe. Es wird nicht in UITableView usw. verwendet. Ich verwende anderen Code für Thumbs mit global initialisiertem Manager und Optionen, also sind Assets definitiv nicht null oder so. Ich rufe diese Funktion nur dann auf, wenn der Benutzer auf einen bestimmten Daumen klickt. Wenn Galerie wie 5000 Fotos hat, ist möglicherweise Verbindung zu Assets nur überlastet und später kann es nicht mit Anfragen und Abstürzen umgehen? So viele Fragen.
Ich sehe das gleiche Problem seit dem Upgrade auf iOS 11. Wenn ich eine kleine Größe (256 x 256) für Thumbnails anfordern, werden alle geladen. Wenn ich denselben Code für eine größere Größe verwende, scheitert es an ungefähr 20%. Hab noch kein Muster herausgefunden. – user1055568
Haben Sie eine Lösung gefunden? – kye
Nicht wirklich, Warnung ist immer noch hartnäckig. –