When [camera takePicture] is called before the camera is ready, it spits out this message:
UIImagePickerController: ignoring request to take pictu
As per the documentation for UIImagePickerController. The takePicture() method is ready again when
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
is called. If your interested in blocking pictures during this time period just disable the button interface (button.userInterfaceEnabled = false) until the call returns with media. I solved this very problem using the imagePickerController.