web-dev-qa-db-fra.com

CGContextSaveGState: contexte non valide 0x0 (Xcode 7 GM)

J'ai ce problème après avoir compilé mon code avec Xcode 7 GM.

Selon Apple c'est un bug, mais il semble toujours être un problème. Tout fonctionne bien, mais est-il possible de se débarrasser de ces erreurs?

: CGContextSaveGState: contexte non valide 0x0. Si vous souhaitez voir la trace arrière, veuillez définir la variable d'environnement CG_CONTEXT_SHOW_BACKTRACE.

: CGContextTranslateCTM: contexte non valide 0x0. Si vous souhaitez voir la trace arrière, veuillez définir la variable d'environnement CG_CONTEXT_SHOW_BACKTRACE.

: CGContextRestoreGState: contexte non valide 0x0. Si vous souhaitez voir la trace arrière, veuillez définir la variable d'environnement CG_CONTEXT_SHOW_BACKTRACE.

enter image description here

Quelqu'un dans d'autres forums a dit quelque chose à propos de la barre d'état, mais je n'ai aucun succès pour éliminer le message. Ce n'est pas un gros problème, mais c'est une "erreur" inutile. J'utilise Interface Builder.

Mise à jour: j'ai utilisé Objective-C si vous utilisez Swift, c'est peut-être la question que vous cherchez

42
Beto

Cela se produit également pour moi sur 7 GM, mais la suppression de UIViewControllerBasedStatusBarAppearance d'Info.plist l'a corrigé pour moi, comme indiqué ici .

Mise à jour: l'avertissement semble avoir disparu avec iOS 9.2

57
ernesto

J'ai trouvé une autre cause de cette erreur aujourd'hui.

Lorsque j'ai écrit du code de dessin dans ma classe View Controller, ces erreurs sont apparues. J'ai réalisé que je dois créer une sous-classe UIView et faire les étapes de dessin dans la fonction override drawRect. Lorsque j'y ai déplacé le code du dessin, toutes les erreurs ont disparu.

7
Jiao

Je dessine en utilisant UIBezierPath

La suppression de path.fill() a supprimé l'avertissement.

6
Ayman Ibrahim

C'est un bon cas pour utiliser le débogueur. J'ai défini un point d'arrêt dans mon main puis j'ai utilisé la touche F7 pour parcourir le code jusqu'à ce que l'avertissement apparaisse. Il s'avère qu'il y a encore une autre façon dont cette fausse erreur apparaît:

NSColor *myColor = colorFromRGBA(43,51,59,0.95);
[myColor set];
(self.window).backgroundColor = myColor;

Il générait l'avertissement le [myColor set]. Évidemment, je n'en avais pas besoin et je l'ai commenté. À ce stade, l'erreur a disparu. Votre expérience peut bien sûr différer.

2
Volomike