swift - iOS 11 : [ImageManager] Unable to load image data

标签 swift uiimage gallery ios11 phasset

更新到 iOS 11 后,照片 Assets 现在加载缓慢,我在控制台中收到此消息:

[ImageManager] Unable to load image data, /var/mobile/Media/DCIM/103APPLE/IMG_3064.JPG

我使用静态函数加载图片:

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
}

Assets 的请求图像通常总是成功,但它会打印此消息。如果我只使用 requestImageData 函数,则没有这样的消息,但是用 Apple 相机拍摄的照片会失去方向,并且在加载大量图像时会遇到更多问题(我在我的应用程序中使用图像幻灯片)。

Apple 在更新方面总是很糟糕,也许有人知道如何解决这个问题?当用户相机中有大量 Assets 时,它甚至无法加载 Assets 。切换到 requestImageData 对我来说不是一个选择,因为它现在经常带来 nil 数据。

我想指出,我只调用了这个函数一次。它没有在 UITableView 等中使用。我使用其他代码作为全局初始化管理器和选项的拇指,所以 Assets 绝对不是 nil 等。 只有当用户点击某个拇指时,我才调用这个函数。 当图库有大约 5000 张照片时,也许与 Assets 的连接只是过载,后来它无法处理请求和崩溃? 这么多问题。

最佳答案

嘿,我也收到了警告,这对我有用。

替换 CGSize(宽度:asset.pixelWidth,高度:asset.pixelHeight) 经过 PHImageManagerMaximumSizerequestImage 调用中 删除了警告日志 🎉

希望对您有所帮助,

关于swift - iOS 11 : [ImageManager] Unable to load image data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46377824/

相关文章:

ios - Apple 的照片应用程序中的过滤器 UIScrollView/UICollectionView 是如何实现的,以至于它打开得如此之快?

html - 我们如何创建图像网格,即 : Gallery

Android Cooliris Gallery 开发者文档

swift - 避免 switch 支持没有类的多态性

ios - 无法为 iphone 4s、5、5s、6、6s 设置纵向和横向模式的启动图像

ios - NSData 到 UIImage 返回到 NSData 结果长度大小增加了三倍

ios - 从 Parse.com 将 Logo 图像加载到 UIImage

ios - 如何在UITableViewCell中使用自定义UIButton?

swift - Vapor 3 - 搜索失败时返回不同的 future ?

javascript - 带手动幻灯片的弹出框画廊