A Flutter plugin that provides images, videos, and audio abstraction management APIs without interface integration, available on Android, iOS, macOS and OpenHarmony.
Unfortunately, we don't have any reliable way to reproduce this particular issue.
On iOS, multiple customers have reported that the app is showing lowered quality photo.
All affected customers have iCloud backup enabled.
It only happens with few photos, not all.
From what we know, all these users have enabled Optimize (device) Storage option. When enabled, iOS stores a low quality version of the original file to save space.
If -[PHImageRequestOptions isSynchronous] returns NO (or options is nil), resultHandler may be called 1 or more times.
Typically in this case, resultHandler will be called asynchronously on the main thread with the requested results. However, if deliveryMode = PHImageRequestOptionsDeliveryModeOpportunistic, resultHandler may be called synchronously on the calling thread if any image data is immediately available. If the image data returned in this first pass is of insufficient quality, resultHandler will be called again, asychronously on the main thread at a later time with the "correct" results. If the request is cancelled, resultHandler may not be called at all. If -[PHImageRequestOptions isSynchronous] returns YES, resultHandler will be called exactly once, synchronously and on the calling thread. Synchronous requests cannot be cancelled. resultHandler for asynchronous requests, always called on main thread
In PHAssetResourceRequestOptions (used by flutter_photo_manager), unlike PHImageRequestOptions, there's no way to specify deliveryMode of the image, that can impact the quality of the file.
Version
3.0.0
Platforms
iOS
Device Model
All iPhone Devices
flutter info
How to reproduce?
Unfortunately, we don't have any reliable way to reproduce this particular issue. On iOS, multiple customers have reported that the app is showing lowered quality photo.
Optimize (device) Storage
option. When enabled, iOS stores a low quality version of the original file to save space.Potential Root Cause
After a quick search on SO, I found following posts that are sort of related to this potential issue. https://stackoverflow.com/a/31784955
https://stackoverflow.com/a/27700985
Current Photo Manager Implementation
Link
In PHAssetResourceRequestOptions (used by flutter_photo_manager), unlike
PHImageRequestOptions
, there's no way to specify deliveryMode of the image, that can impact the quality of the file.Logs
Example code (optional)
No response
Contact
No response