iPhone 12 Pro, 13 Pro Max take super-bright (maybe overexposed) photos with flash

339 Views Asked by At

On the current project once again I use the camera. I use two streams of video and photo Video to detect rectangle and photo to capture a photo with the flash. After several checks I found the bug. On 12 Pro & 13 Pro Max in a bright room I obtain overexposed photos, if I do the same in a dark room, there are no overexposed photos. This behavior is not available on older iPhones.

enter image description here

I look forward to all your suggestions and comments.

Environment: iOS 15.4.1, iPhone 12, 12 Pro, 12 Pro Max, 13, 13 Pro, 13Pro Max

Additional info: I capture photo in -

func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {...}
1

There are 1 best solutions below

1
On

So what I've discovered to help is AVCapturePhotoSettings's isAutoStillImageStabilizationEnabled, which is deprecated since iOS 13, with a reference to photoQualityPrioritization. Using .balance or .quality (and setting the same on AVCapturePhotoOutput) didn't help, but .speed did.