I am attempting to manually control the white balance via iOS 8.2 on an iPhone 5S. I am using [`setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains`](https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureDevice_Class/#//apple_ref/occ/instm/AVCaptureDevice/setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler:).
I have also set the focus and exposure and ISO to manual, and then I am stepping the gain on the red channel from 1.0 to 3.0 while keeping green and blue gains set to 1.0, taking an image of the same (constant) scene at each white balance gains setting. I plot a single row from the image (640 pixels wide) for the red channel (top plot) green (middle) and blue (bottom):

I would expect to see only the red channel change, and yet I actually see a change on all three channels. On green and blue the difference is much smaller, but obviously noticeable.
Am I doing something wrong, or am I misunderstanding how the white balance gains work?
Hi, It's really hard to control this with iPhone camera settings alone. I would try to download the free Adobe Lightroom app from the app store. The Lightroom app allows you to go into its camera mode settings and adjust the white balance manually before taking an image.