Sau khi cập nhật lên iOS 11, tài sản ảnh tại tải chậm và tôi nhận được tin nhắn này trong giao diện điều khiển:iOS 11: [ImageManager] Không thể tải dữ liệu hình ảnh
[ImageManager] Không thể tải dữ liệu hình ảnh, /var/mobile/Media/DCIM/103APPLE/IMG_3064.JPG
tôi sử dụng chức năng tĩnh để tải hình ảnh:
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
}
Yêu cầu hình ảnh cho tài sản thường luôn luôn thành công, nhưng nó in thông điệp này. Nếu tôi chỉ sử dụng chức năng requestImageData, không có thông báo như vậy, nhưng ảnh được chụp bằng máy ảnh Apple mất định hướng và tôi gặp nhiều vấn đề hơn trong khi tải số lượng lớn ảnh (tôi sử dụng trình chiếu hình ảnh trong ứng dụng của mình).
Apple luôn luôn hút khi nói đến bản cập nhật, có thể ai đó đã có giải pháp khắc phục sự cố này? Nó thậm chí không tải một tài sản, khi có một danh sách lớn của chúng trong máy ảnh của người dùng. Chuyển sang requestImageData không phải là một tùy chọn cho tôi vì nó mang đến dữ liệu nil thường xuyên ngay bây giờ.
Tôi muốn chỉ ra rằng tôi chỉ gọi hàm này một lần. Nó không được sử dụng trong UITableView vv .. Tôi sử dụng mã khác cho ngón tay cái với người quản lý khởi tạo trên toàn cầu và các tùy chọn, vì vậy tài sản chắc chắn không phải là số 0. Khi bộ sưu tập có 5000 ảnh, có thể kết nối với nội dung chỉ bị quá tải và sau đó nó không thể xử lý yêu cầu và sự cố? Rất nhiều câu hỏi.
Tôi thấy vấn đề tương tự kể từ khi nâng cấp lên iOS 11. Nếu tôi yêu cầu kích thước đủ nhỏ (256 x 256) cho hình thu nhỏ, tất cả đều tải. Khi tôi sử dụng cùng một mã cho kích thước lớn hơn nó không thành công khoảng 20%. Chưa tìm ra bất kỳ mẫu nào. – user1055568
Bạn có tìm thấy bản sửa lỗi cho điều này không? – kye
Không thực sự, cảnh báo vẫn còn dai dẳng. –