103 votes

UIImagePickerController erreur : prise d’instantanés une vue qui n’a pas été rendue des résultats d’un instantané vide dans iOS 7

J’obtiens cette erreur que dans iOS 7 ainsi que l’application s’est écrasé. Dans iOS 6, j’obtiens jamais d’erreur, juste une fois d’avertissement de mémoire lors de l’ouverture de la caméra.

Voici ce que je fais.

J’ai fait j’ai essayé de retarder le presentModalViewController, mais j’obtiens toujours le même message. Après quelques secondes (7-10), l’application s’est écrasé.

Cette erreur est uniquement présente dans iOS 7.

Quelqu'un a la moindre idée ? Je vous remercie à l’avance.

32voto

Lefteris Points 6249

Le problème dans iOS7 a à voir avec des transitions. Il semble que si une transition précédente n’a pas terminé et vous lancez un nouveau, iOS7 dégradé les points de vue, où iOS6 semble gérer correctement.

Vous devez initialiser votre appareil photo dans votre `` , seulement après que le point de vue a chargé et avec un délai d’attente :

et voici le code d’initialisation

18voto

Scott Carter Points 456

Cette erreur a également montré pour moi avec Apple PhotoPicker exemple de code du projet.

J'ai été en utilisant Xcode Version 5.0 et iOS 7.0.3 sur un iPhone 4.

Étapes pour Reproduire:

  1. Télécharger Apple PhotoPicker exemple de projet à https://developer.apple.com/library/ios/samplecode/PhotoPicker/Introduction/Intro.html

  2. Dans APLViewController.m en commentaire la ligne 125

    //imagePickerController.showsCameraControls = NON;

  3. Dans APLViewController.m commentez les lignes 130-133

    // [[NSBundle mainBundle] loadNibNamed:@"OverlayView" propriétaire:auto options:nil];

    // auto.overlayView.frame = imagePickerController.cameraOverlayView.cadre;

    // imagePickerController.cameraOverlayView = auto.overlayView;

    // auto.overlayView = nil;

  4. Construire et lancer l'application.

  5. Une fois lancé, faites pivoter l'appareil en mode Paysage.

  6. Cliquez sur l'icône Caméra pour ouvrir UIImagePickerController en mode Appareil photo.

  7. Vue de la sortie de la console.

Sortie de la Console

PhotoPicker[240:60b] Instantanés de vue qui n'a pas été rendu vide instantané. Assurer votre point de vue a été rendue au moins une fois avant d'instantanés ou de l'instantané après les mises à jour d'écran.

showsCameraControls propriété

Le problème se produit pour moi, lorsque le présent a une valeur OUI (valeur par défaut).

Cette définition NON éliminé le message.

Rapport de Bug

Je viens de déposer un rapport de bug avec Apple.

J'ai essayé bon nombre de suggestions qui ont été faites dans les différents posts, mais n'ont pas trouvé une solution satisfaisante.

11voto

Arne Points 111

J'ai eu le problème quand j'ai essayé de présenter la vue de la caméra à l'intérieur d'une liste. Sous iOS6, ce n'était pas un problème, mais dans iOS7 j'ai reçu le message

Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.

ainsi.

Cependant, après j'ai changé la présentation de la vue de la caméra en plein écran, comme décrit dans la Prise de Photos et de Films, iOS Développeur de la Bibliothèque tout allait bien à nouveau et le message n'est jamais apparu de nouveau. Mais j'ai dû assurez-vous que selon le mode de fonctionnement de l'application est (c'est à dire, en présentant une vue de la caméra ou photo rouleau), j'ai dû rejeter la liste ou la vue-contrôleur à chaque fois que la méthode de - (void) imagePickerControllerDidCancel: (UIImagePickerController *) picker a été appelé.

6voto

Asfanur Points 95

Créez une propriété

Puis

Cela devrait résoudre le problème

4voto

J’ai utilisé ce code pour contourner le problème :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X