UIImagePickerController apparaît mais l'appareil photo ne démarre pas sur iOS 5

J'ai une application où je présente un UIImagePickerController avec le type de source UIImagePickerControllerSourceTypeCamera . Tout fonctionne bien à less de quitter l'application et de revenir (le multitâche est activé pour que l'application revienne là où elle UIImagePickerController arrêtée) et je présente à nouveau le UIImagePickerController . Il apparaît à l'écran mais l'appareil photo ne le montre jamais, l'animation où la camera est révélée n'arrive jamais, voici une capture d'écran: capture d'écran

Si j'appuie sur annuler et présenter à nouveau le UIImagePickerController , l'appareil photo s'affichera UIImagePickerController . Ainsi, la première fois que ce problème se produit est la première fois que je présente le UIImagePickerController après être revenu à l'application. quelquun sait pourquoi cela se passe? Je code pour iOS 5

Je présente le UIImagePickerController avec:

 [self presentViewController:capturePhotoPicker animated:YES completion:nil]; 

et le rejeter avec:

 [self dismissViewControllerAnimated:YES completion:nil]; 

J'utilise le même object UIImagePickerController chaque fois que je le présente

J'ai eu exactement le même problème et j'ai réalisé que je ne UIImagePickerController pas le UIImagePickerController après l'avoir présenté. La camera fonctionne maintenant bien pour la première fois après avoir quitté et revenir à l'application.

Donc c'est mon code exact:

 UIImagePickerController *takePhotoController = [[UIImagePickerController alloc] init]; takePhotoController.sourceType = UIImagePickerControllerSourceTypeCamera; takePhotoController.delegate = self; [self presentModalViewController:takePhotoController animated:YES]; [takePhotoController release]; 

C'est l'un de ces problèmes sur lesquels vous pouvez passer des années, et la solution n'est pas si évidente (eh bien, ce n'était pas pour moi), alors j'espère que cela aidera certaines personnes!

si vous modifiez le – (void) viewDidLoad à – (void) viewDidAppear: (BOOL) animé, il résout le problème. J'ai passé les deux dernières semaines à essayer de comprendre