I have bug with UIImagePickerController which source type is camera. Sometimes after controller appeared, shutter is not opens up and I can’t to see a camera video signal, but photo taken is correct.

May be I doing something wrong? Code:
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){
UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraUI.allowsEditing = NO;
cameraUI.showsCameraControls = NO;
cameraUI.delegate = self;
NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"OverlayView" owner:self options:nil];
UIView *controlsView = [nibObjects objectAtIndex:0];
CGRect overlayViewFrame = cameraUI.cameraOverlayView.frame;
CGRect controlsFrame = CGRectMake(0.0, CGRectGetHeight(overlayViewFrame) - 54.0,
CGRectGetWidth(overlayViewFrame), 54.0);
controlsView.frame = controlsFrame;
[cameraUI.cameraOverlayView addSubview:controlsView];
[self presentModalViewController: cameraUI animated: YES];
}
The same was happening to me after locking/unlocking the app, it looks like the shutter opens on viewDidAppear.
So, I subscribed my parent view controller to
UIApplicationDidBecomeActiveNotificationand re-execute manually the viewWillAppear and viewDidAppear methods of the controller containing the UIImagePickerControllerAnd then on the controller containing the UIImagePickerController
PS: If you try this, don’t forget to remove the observer
Hope this helps