iOS 8 Instantanés de vue qui n'a pas été rendu vide instantané
Dans iOS 8 j'ai des problème de capture d'images à partir de la caméra jusqu'à maintenant, je suis en utilisant ce code pour
UIImagePickerController *controller=[[UIImagePickerController alloc] init];
controller.videoQuality=UIImagePickerControllerQualityTypeMedium;
controller.delegate=(id)self;
controller.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentViewController:controller animated:YES completion:nil];
Mais dans iOS 8, j'obtiens ceci:
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.
J'ai essayé avec la solution fournie par Ce Post avec
@property (strong,nonatomic)UIImagePickerController *controller;
_controller=[[UIImagePickerController alloc] init];
_controller.videoQuality=UIImagePickerControllerQualityTypeMedium;
_controller.delegate=(id)self;
_controller.sourceType=UIImagePickerControllerSourceTypeCamera;
_[self presentViewController:controller animated:YES completion:nil];
et ce
...
controller.modalPresentationStyle=UIModalPresentationFullScreen;
or
controller.modalPresentationStyle=UIModalPresentationCurrentContext;
...
et ce
double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self presentViewController:controller animated:YES completion:nil];
});
et ce
[self presentViewController:controller animated:YES completion:NULL];
et ce
[self presentViewController:controller animated:YES completion:^{
}];
une idée?
Ont le même problème et en plus ce bug plante mon app de temps en temps. Espérons que la mise à jour 8.0.2 va corriger ce bug. Quand je lance mon application dans iOS7 il fonctionne comme un charme, sans aucun stupide avertissements. Ressemble à iOS 8 a la long chemin de la stabilité.
Événement avec la mise à jour 8.0.2 ce problème persiste encore
J'ai eu le même problème. Après j'ai été prise de la photo, j'ai été faire un traitement dans un autre thread. Après j'ai déménagé le code pour le thread principal, alors que tout était ok. C'est à dire, mon code avant de l'été:
Même problème se pose dans iOS 8.1
Qui se passe dans iOS 9.
Événement avec la mise à jour 8.0.2 ce problème persiste encore
J'ai eu le même problème. Après j'ai été prise de la photo, j'ai été faire un traitement dans un autre thread. Après j'ai déménagé le code pour le thread principal, alors que tout était ok. C'est à dire, mon code avant de l'été:
dispatch_async(dispatch_get_main_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
qui j'ai changé pour dispatch_async(dispatch_get_main_queue(), ^{
Même problème se pose dans iOS 8.1
Qui se passe dans iOS 9.
OriginalL'auteur souvickcse | 2014-09-17
Vous devez vous connecter pour publier un commentaire.
Je suis sûr que c'est juste un bug dans iOS 8.0. Il est reproductible avec le plus simple des POC applications qui ne fait rien de plus que de tenter de présenter une
UIImagePickerController
comme vous le faites ci-dessus. En outre, il n'y a pas d'autre modèle à l'affichage de l'image du sélecteur/appareil photo, à ma connaissance. Vous pouvez même télécharger Apple À l'aide de UIImagePickerController exemple d'application, l'exécuter, et il génère la même erreur à la sortie de la boîte.Cela dit, la fonctionnalité fonctionne toujours pour moi. Autres que l'avertissement/d'erreur, vous avez des problèmes avec le fonctionnement de votre application?
Je rencontre cette erreur. Chaque fois que cela se produit, l'aperçu de l'image qui s'affiche une fois une nouvelle photo a été prise est complètement noir. Cependant, le "Re-Prendre" et "Utiliser la Photo" boutons au bas de l'écran apparaissent toujours et de fonctionner correctement. Êtes-vous témoin de ce même comportement?
J'utilise la dernière phonegap caméra plugin de base situé ici: github.com/apache/cordova-plugin-camera. Tout fonctionne bien avec iOS 7.1 en cours d'exécution sur un iPhone 5, mais je ne peux pas trouver un moyen pour qu'il fonctionne correctement à l'aide de iOS 8 sur un iPhone 6.
De même pour moi avec iOS8.1 finale
Toujours présent dans IOS 9
OriginalL'auteur KevinH
J'ai été aux prises avec ce problème pendant plusieurs heures, j'ai lu chaque sujet et a trouvé que l'erreur a été causée car, selon les paramètres de confidentialité de mon appareil, l'appareil photo d'accès à mon application a été bloquée!!! Je n'ai jamais refusé l'accès à la caméra et je ne sais pas comment il a été bloqué, mais c'était le problème!
Nope, la caméra d'accès est vérifié pour l'application dans mon cas. Mais je crois que cela pourrait être causé indirectement par les paramètres: modifier les paramètres ne sont pas parfois prendre effet immédiatement, quelqu'un de cupertino doit avoir optimisé un appel à synchroniser quelque part
Cette suggestion a résolu le problème pour moi. J'avais déjà touché "Ne pas Autoriser" lorsque l'appareil sélecteur est venu dans mon application. Je pensais que ça allait me demander à chaque fois j'ai eu accès à la caméra, mais il n'a pas. J'ai dû aller dans Paramètres > vie privée > Appareil et allumez le curseur pour mon application. Puis il a travaillé correctement. Semble sorta stupide de la part d'Apple de ne pas demander à chaque fois ...
exactement, parfois, nous ne pouvons pas penser question soulevée par ce type d'erreurs. thx copain très utile
La meilleure option consiste avant d'utiliser l'appareil photo de détecter si la capacité est active, et si non, avertir l'utilisateur que la prise de photos n'est pas disponible jusqu'à ce que l'appareil photo est activé dans les paramètres. Sur iOS 10, est possible d'envoyer à l'utilisateur de l'application des paramètres (était possible avant iOS 8, mais pas possible dans iOS 8 et 9, si je me souviens bien).
OriginalL'auteur Pantelis Proios
Je n'ai pas assez de points de réputation pour commenter @greg réponse ci-dessus, sera donc ajouter mes observations ici. J'ai une Swift projet pour iPad et iPhone. J'ai une méthode à l'intérieur de mon principal-vue-contrôleur (tbi pertinent ci-dessous). Quand je l'ai tester sur un téléphone, tout fonctionne correctement et sans avertissements sont générés. Lorsque je l'exécute sur un iPad, tout fonctionne correctement mais j'ai le message d'avertissement concernant instantanés de la vue. Le morceau intéressant, cependant, est que quand je lance sur un iPad sans l'aide de la liste de contrôleur, tout fonctionne correctement avec aucun avertissement. Malheureusement, Apple mandats que le sélecteur d'images doivent être utilisés dans une liste sur l'iPad, si l'appareil n'est pas utilisé.
OriginalL'auteur dlw
Je suis tombé sur cet après l'appel de UIImagePickerController presentViewController: à partir de la fonction de rappel pour un UIAlertView délégué. J'ai résolu le problème en appuyant sur le presentViewController: appeler le courant de l'exécution de trace à l'aide de dispatch_async.
le alertView a été abandonné, serait-il si j'utilise la async à l'intérieur d'un UIAlertViewController action à la place ?
Assurez-vous. dispatch_async fonctionne n'importe où vous voulez. Je ne sais pas que c'est nécessaire (dépend de votre code). Lire sur les PGCD - il possède un grand nombre d'utilisations.
OriginalL'auteur greg
J'ai eu ce problème lors de l'animation de certains points de vue et l'application serait de passer en mode arrière-plan et de revenir. J'ai manipulé par un indicateur est actif. Je l'ai mis aux PAS dans
et OUI dans
et d'animer ou de ne pas les animer mon point de vue en conséquence. A pris soin de la question.
OriginalL'auteur byedissident
J'ai eu cela avec un UIAlertControllerStyleActionSheet donnant à l'utilisateur la possibilité de prendre une photo avec l'appareil photo ou d'utiliser l'un de la bibliothèque.
J'ai essayé une symbolique point d'arrêt sur le message d'erreur
Qui m'a montré que l'erreur est produite par le stagiaire, l'utilisation d'un UICollectionView lors de la présentation
J'ai corrigé cela en explixitly le cadre avant de présenter
Voici la methode qui fonctionne sans erreur
OriginalL'auteur Yedy
Vous pouvez faire taire les "Instantanés de vue d'avertissement" en référence à la
view
de la propriété avant de présenter le point de vue du contrôleur. En procédant ainsi, le point de vue de la charge et permet iOS rendu avant de prendre la capture d'écran.Cependant, lorsque j'ajoute un
cameraOverlayView
, malheureusement, je reçois toujours ce même problème, même quand j'applique cette astuce.OriginalL'auteur Steve Shepard
Pour quelqu'un qui voit un problème avec un noir aperçu après la capture d'image, le masquage de la barre d'état après le UIPickerController est indiqué semble résoudre le problème.
La Solution ne fonctionne pas. Je pense que lorsque l'on capture une image à l'époque de la Barre d'état déjà Caché.
OriginalL'auteur Dan
J'ai trouvé le même problème et tout essayé. J'ai deux applications différentes, l'une en objective-C et un en swift - les deux ont le même problème. Le message d'erreur vient dans le débogueur et l'écran devient noir après la première photo. Cela se produit uniquement dans iOS >= 8.0, évidemment, c'est un bug.
J'ai trouvé difficile de contournement. Coupez le contrôle de la caméra avec imagePicker.showsCameraControls = false et de créer votre propre overlayView qui a les boutons manquants. Il existe plusieurs tutoriels sur la façon de le faire.
Le message d'erreur étrange reste, mais au moins, l'écran n'est pas noir et que vous avez un travail app.
OriginalL'auteur Thomas Zimmer
Ce peut-être un bug de ImagePickerController. Mon code fonctionne, mais parfois se bloque sur l'iPhone 6 Plus.
J'ai essayé toutes les solutions proposées par d'autres réponses, mais il n'y avait pas de chance. Problème enfin résolu après le passage à JPSImagePickerController.
OriginalL'auteur JonSlowCN
J'ai tout essayé, mon problème était que le sélecteur d'images de l'appareil photo et la photo de la bibliothèque a disparu juste après qu'ils ont montré. Je l'ai résolu avec la ligne suivante (swift)
OriginalL'auteur Waffeln
Je suis sûr que c'est juste un bug dans iOS 8.0. Il est reproductible avec le plus simple des POC applications qui ne fait rien de plus que de tenter de présenter une UIImagePickerController comme vous le faites ci-dessus. En outre, il n'y a pas d'autre modèle à l'affichage de l'image du sélecteur/appareil photo, à ma connaissance. Vous pouvez de téléchargement d'Apple à l'Aide de UIImagePickerController exemple d'application, l'exécuter, et il génère la même erreur à la sortie de la boîte.
Cela dit, la fonctionnalité fonctionne toujours pour moi. Autres que l'avertissement/d'erreur, vous avez des problèmes avec le fonctionnement de votre application?
OriginalL'auteur Gaurav Patel
Si nous sommes à l'aide de la
UIImagePickerController
comme une propriété, alors cet avertissement disparaîtra. xcode supposons que nous ne sommes pas en utilisant le résultat de laUIImagePickerController
, si nous sommes à l'instanciation de laUIImagePickerController
au sein d'une fonction.OriginalL'auteur Antony Ouseph
L'appel de cette méthode a fonctionné pour moi. Placer après la présentation de votre point de vue.
OriginalL'auteur Bobby
Je rencontre également le même problème et je l'ai résolu en vérifiant si la caméra est disponible:
OriginalL'auteur aftab muhammed khan
J'ai tombé sur ce problème. Lorsque nous appelons la caméra et de libérer les points de vue produit de cette question. Pour un exemple d'appel d'un appareil photo et vue d'ensemble de néant dans viewDidDisappear méthode de cette erreur car il n'y a pas de rappel pour l'appareil-photo de l'événement. Assurez-vous à propos de cette affaire de trop pour cette erreur.
OriginalL'auteur Gobi M
J'ai eu le même bug,obtenir soufflet message dans la console lors de l'ouverture de la caméra.
'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 l'écran mises à jour.'
Pour moi le problème était avec le paquet de nom à afficher dans l'Info.fichier plist.il était vide une certaine façon,j'ai mis mon nom de l'application il et maintenant il fonctionne très bien.je n'ai pas reçu d'autorisation caméra alerte en raison de vide Bundle nom d'affichage.il a bloqué l'affichage du rendu.
le problème était pas de avec vue, mais en le présentant sans autorisation.vous pouvez le vérifier sur paramètres-->de la vie privée-->de la Caméra,si votre application n'y sont énumérés problème est peut-être même.
OriginalL'auteur Shabeer Ali
Je suis en utilisant Phonegap, mais ce fil ne cesse de revenir en tant que premier lorsque vous Tapez sur le message d'erreur.
Pour moi, cette question s'en alla par la définition de la imagetype PNG.
Ainsi, l'ensemble de la ligne:
Votre kilométrage peut varier, mais qui a fait le tour pour moi.
OriginalL'auteur Jannunen
Sinon, pensez à utiliser
drawViewHierarchyInRect
:Swift:
Objective-C:
Voir aussi:
OriginalL'auteur Eric
Dans mon cas ( XCode 7 et iOS 9 ), j'utilise
UINavigationController
"caché", de sorte que j'ai à ajouterUINavigationControllerDelegate
à présent de la caméra ou de roulis et il fonctionne comme il est censé le faire!And pickerControllerDelegate.self
n'affiche pas d'erreur!!!!OriginalL'auteur Daniel Arantes Loverde