title: AVCaptureDevice Low Light Boost Does Not work
body: <p>The low light boost property of AVCaptureDevice is not enabling when it should. I am testing this on an iPhone 5 with iOS 6. Here's the code:</p>
  
  <pre><code>    // finds a device that supports the video media type
      AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
      NSArray *allDevices = [AVCaptureDevice devices];
      for (AVCaptureDevice *currentDevice in allDevices) {
          if (currentDevice.position == AVCaptureDevicePositionBack) {
              device = currentDevice;
          }
      }
  
      NSError *deviceError = nil;
      if (device.isFlashAvailable){
          [device lockForConfiguration:&amp;deviceError];
          device.flashMode = AVCaptureFlashModeAuto;
          [device unlockForConfiguration];
      }
      if ([device respondsToSelector:@selector(isLowLightBoostSupported)]) {
          if ([device lockForConfiguration:nil]) {
              if (device.isLowLightBoostSupported)
                  device.automaticallyEnablesLowLightBoostWhenAvailable = YES;
                  [device unlockForConfiguration];
          }
      }
      if ([device isExposureModeSupported:AVCaptureExposureModeContinuousAutoExposure]) {
          [device lockForConfiguration:&amp;deviceError];
          device.exposureMode = AVCaptureExposureModeContinuousAutoExposure;
          // CODE FOR device.exposurePointOfInterest determined from wherever the face is based off of the faceScan method
          [device unlockForConfiguration];
      }
  
      AVCaptureDeviceInput *newVideoInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:&amp;deviceError];
  
      AVCaptureStillImageOutput *newStillImageOutput = [[AVCaptureStillImageOutput alloc] init];
  
      NSDictionary *outputSettings = [[NSDictionary alloc] initWithObjectsAndKeys:
                                  AVVideoCodecJPEG, AVVideoCodecKey,
                                  nil];
  
  
      [newStillImageOutput setOutputSettings:outputSettings];
  
  
      self.sess = [[AVCaptureSession alloc] init];
  
      if ([self.sess canAddInput:newVideoInput]) {
          [self.sess addInput:newVideoInput];
      }
      if ([self.sess canAddOutput:newStillImageOutput]) {
          [self.sess addOutput:newStillImageOutput];
      }
      self.stillImageOutput = newStillImageOutput;
  
      if (device.lowLightBoostEnabled) {
          NSLog(@"ENABLED");
      }
  
      // register as an observer of changes to lowLightBoostEnabled
      [device addObserver:self forKeyPath:@"automaticallyEnablesLowLightBoostWhenAvailable" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:NULL];
  
  - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
  
      if ([keyPath isEqual:@"lowLightBoostEnabled"]) {
  
          NSLog(@"lowLightBoostEnabled changed");
  
          NSNumber *boostIsActiveValue = [change objectForKey:NSKeyValueChangeNewKey];
  
          BOOL boostIsActive = boostIsActiveValue.boolValue;
  
          NSLog(@"is low light boost currently active: %d", boostIsActive);
      }
  }
  </code></pre>
  
  <p>Can anyone give me any help? I've looked online but haven't found very conclusive results. I'd appreciate all the help I can get.</p>