2015-09-09 20 views
40

Ho questo problema dopo aver compilato il mio codice con Xcode 7 GM.CGContextSaveGState: contesto non valido 0x0 (Xcode 7 GM)

Secondo Apple questo è un bug, ma sembra comunque essere un problema. Tutto funziona bene, ma è possibile sbarazzarsi di questi errori?

: CGContextSaveGState: contesto non valido 0x0. Se vuoi vedere il backtrace, imposta la variabile ambientale CG_CONTEXT_SHOW_BACKTRACE.

: CGContextTranslateCTM: contesto non valido 0x0. Se vuoi vedere il backtrace, imposta la variabile ambientale CG_CONTEXT_SHOW_BACKTRACE.

: CGContextRestoreGState: contesto non valido 0x0. Se vuoi vedere il backtrace, imposta la variabile ambientale CG_CONTEXT_SHOW_BACKTRACE.

enter image description here

Qualcuno in altre sedi detto qualcosa barra di stato, ma non ho alcun successo per eliminare il messaggio. Questo non è un grosso problema, ma è un "errore" inutile. Sto usando Interface Builder.

Aggiornamento: Ho usato Objective-C se si utilizza Swift, maybe this is the question you're looking for

+0

Possibile duplicato di [CGContextSaveGState: contesto non valido 0x0 Errore solo sul dispositivo] (http://stackoverflow.com/questions/32236204/cgcontextsavegstate-invalid-context-0x0-error-only-on-device) –

risposta

55

Questo avviene anche per me su 7 GM, ma la rimozione UIViewControllerBasedStatusBarAppearance da Info.plist fissata per me, come detto here.

Aggiornamento: Attenzione sembra essere andato con iOS 9.2

+6

Ciao Ernesto, la tua soluzione ha funzionato anche per me, e se volessi che la barra UIStatus rimanga bianca? Hai trovato qualche soluzione per far rimanere la barra di stato bianca senza quegli errori? –

+0

Ciao, non so cosa intendi esattamente per 'bianco', ma rimuovere 'UIViewControllerBasedStatusBarAppearance' significa che l'aspetto della barra di stato è ora determinato dal controller della vista visibile, devi implementare [' preferredStatusBarStyle'] (https : //developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/UIViewController/preferredStatusBarStyle) lì e restituire il valore desiderato. Si noti che se il controller di visualizzazione del contenuto è incorporato in un controller di navigazione/scheda, è necessario implementarlo in quest'ultimo. – ernesto

+1

Funziona solo se hai attivato il layout automatico. Se è disattivato e non è possibile utilizzare UIViewControllerBasedStatusBarAppearance, è praticamente impossibile modificare il testo della barra di stato. –

7

ho trovato oggi un'altra causa di questo errore.

Quando ho scritto un codice di disegno nella mia classe View Controller, sono apparsi questi errori. Mi sono reso conto che devo creare una sottoclasse UIView e fare i passi di disegno nella funzione drawRect override. Quando ho spostato il codice del disegno, tutti gli errori sono scomparsi.

+0

Amico, mi hai appena salvato! Grazie! Devo solo dire che in Swift 4.0 è il draw (_rect: CGRect) che deve essere sovrascritto. –

2

Questo è un buon caso per utilizzare il debugger. Ho impostato un punto di interruzione nel mio main e poi ho utilizzato il tasto F7 per scorrere il codice finché non è apparso l'avviso. Risulta, c'è ancora un altro modo appare questo errore fasullo:

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

E 'stato generando l'avviso sul [myColor set]. Evidentemente, non avevo bisogno di questo e ho commentato. A quel punto, l'errore è andato via. La tua esperienza potrebbe essere diversa, ovviamente.

+0

Anche questo era il mio problema, eccetto che stavo usando [path stroke] su un UIBezierPath. Questo è il codice che stava generando questo registro per me. –

-3

Riavviare il dispositivo. Ha risolto il mio problema.

5

sto disegnando usando UIBezierPath

Rimozione path.fill() rimosso l'avvertimento.

+0

Risolto per me.Grazie +1 – tobeiosdev

Problemi correlati