webentwicklung-frage-antwort-db.com.de

CGContextSaveGState: Ungültiger Kontext 0x0 (Xcode 7 GM)

Ich habe dieses Problem, nachdem ich meinen Code mit Xcode 7 GM kompiliert habe.

Laut Apple ist dies ein Fehler, aber es scheint immer noch ein Problem zu sein. Alles funktioniert gut, aber ist es möglich, diese Fehler loszuwerden?

: CGContextSaveGState: ungültiger Kontext 0x0. Wenn Sie die Rückverfolgung anzeigen möchten, legen Sie die Umgebungsvariable CG_CONTEXT_SHOW_BACKTRACE fest.

: CGContextTranslateCTM: ungültiger Kontext 0x0. Wenn Sie die Rückverfolgung anzeigen möchten, legen Sie die Umgebungsvariable CG_CONTEXT_SHOW_BACKTRACE fest.

: CGContextRestoreGState: ungültiger Kontext 0x0. Wenn Sie die Rückverfolgung anzeigen möchten, legen Sie die Umgebungsvariable CG_CONTEXT_SHOW_BACKTRACE fest.

enter image description here

Jemand in anderen Foren hat etwas über die Statusleiste gesagt, aber es ist mir nicht gelungen, die Nachricht zu entfernen. Dies ist kein großes Problem, aber es ist ein nutzloser "Fehler". Ich benutze Interface Builder.

Aktualisiert: Ich habe Objective-C verwendet, wenn Sie Swift verwenden, möglicherweise ist dies die Frage, nach der Sie suchen

42
Beto

Dies passiert auch für mich auf 7 GM, aber das Entfernen von UIViewControllerBasedStatusBarAppearance aus Info.plist hat es für mich behoben, wie gesagt hier .

Update: Warnung scheint mit iOS 9.2 weg zu sein

57
ernesto

Ich habe heute eine andere Ursache für diesen Fehler gefunden.

Beim Schreiben von Zeichnungscode in meiner View Controller-Klasse traten diese Fehler auf. Ich habe festgestellt, dass ich eine UIView-Unterklasse erstellen und die Zeichenschritte in der Funktion drawRect überschreiben muss. Als ich den Zeichencode dorthin verschoben habe, sind alle Fehler verschwunden.

7
Jiao

Ich zeichne mit UIBezierPath

Beim Entfernen von path.fill() wurde die Warnung entfernt.

6
Ayman Ibrahim

Dies ist ein guter Fall, um den Debugger zu verwenden. Ich habe in meinem main einen Haltepunkt gesetzt und dann die Taste F7 verwendet, um den Code zu durchlaufen, bis die Warnung angezeigt wird. Es stellt sich heraus, dass es noch einen anderen Weg gibt, wie dieser falsche Fehler auftritt:

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

Es erzeugte die Warnung auf [myColor set]. Offensichtlich brauchte ich das nicht und kommentierte es aus. Zu diesem Zeitpunkt war der Fehler behoben. Ihre Erfahrungen können natürlich abweichen.

2
Volomike