He leído todos los resultados de búsqueda que he podido encontrar sobre este temido problema, por desgracia, cada uno parece centrarse en una llamada a una función específica.
Mi problema es que me sale el mismo error de varias funciones, que supongo que están siendo llamados de nuevo a partir de funciones que utilizo.
Para empeorar las cosas, el código real está dentro de un marco privado personalizado que está siendo importado en otro proyecto, y como tal, la depuración no es tan simple?
¿Puede alguien indicarme la dirección correcta? Tengo la sensación de que estoy llamando a ciertos métodos de forma incorrecta o con un mal contexto, pero la salida de xcode no es muy útil en este momento.
: CGContextSetFillColorWithColor: contexto inválido 0x0. Esto es un error grave. Esta aplicación, o una biblioteca que utiliza, está utilizando un contexto inválido y por lo tanto está contribuyendo a una degradación general de la estabilidad y fiabilidad del sistema. Este aviso es una cortesía: por favor solucione este problema. Se convertirá en un error fatal en una próxima actualización. : CGContextSetStrokeColorWithColor: contexto inválido 0x0. Este es un error grave. Esta aplicación, o una biblioteca que utiliza, está usando un contexto inválido y por lo tanto está contribuyendo a una general degradación de la estabilidad y fiabilidad del sistema. Este aviso es una cortesía: por favor, solucione este problema. Se convertirá en un error fatal en una próxima actualización. CGContextSaveGState: contexto inválido 0x0. Este es un error grave. Esta aplicación, o una biblioteca que utiliza, está usando un contexto inválido y por lo tanto está contribuyendo a una degradación general del sistema estabilidad y fiabilidad del sistema. Este aviso es una cortesía: por favor, solucione este problema. Se convertirá en un error fatal en una próxima actualización.
: CGContextSetFlatness: contexto inválido 0x0. Este es un grave error. Esta aplicación, o una biblioteca que utiliza, está usando un contexto no válido y, por lo tanto, está usando un contexto no válido. inválido y está contribuyendo a una degradación general de la estabilidad y fiabilidad del sistema. la estabilidad y fiabilidad del sistema. Este aviso es una cortesía: por favor solucione este problema. Se convertirá en un error fatal en una próxima actualización. ; : CGContextAddPath: contexto inválido 0x0. Este es un grave error. Esta aplicación, o una biblioteca que utiliza, está utilizando un contexto no válido y, por lo tanto, está utilizando un contexto no válido. inválido y está contribuyendo a una degradación general de la estabilidad y fiabilidad del sistema. la estabilidad y fiabilidad del sistema. Este aviso es una cortesía: por favor solucione este problema. Se convertirá en un error fatal en una próxima actualización. : CGContextDrawPath: contexto inválido 0x0. Este es un grave error. Esta aplicación, o una de las bibliotecas que utiliza, está usando un contexto no válido y, por lo tanto, está usando un contexto no válido. y por lo tanto está contribuyendo a una degradación general de la estabilidad y fiabilidad del sistema. la estabilidad y fiabilidad del sistema. Este aviso es una cortesía: por favor solucione este problema. Se convertirá en un error fatal en una próxima actualización. ; : CGContextRestoreGState: contexto no válido 0x0. Este es un error grave. Esta aplicación, o una biblioteca que utiliza, está utilizando un contexto inválido y por lo tanto está contribuyendo a una degradación general de la estabilidad y fiabilidad del sistema. Este aviso es una cortesía: por favor solucione este problema. Se convertirá en un error fatal en una próxima actualización. ; : CGContextGetBlendMode: contexto inválido 0x0. Este es un grave error. Esta aplicación, o una biblioteca que utiliza, está utilizando un contexto no válido y, por lo tanto, está utilizando un contexto no válido. y por lo tanto está contribuyendo a una degradación general de la estabilidad y fiabilidad del sistema. la estabilidad y fiabilidad del sistema. Este aviso es una cortesía: por favor solucione este problema. Se convertirá en un error fatal en una próxima actualización.
Estos errores pueden ocurrir cuando se presenta una vista personalizada, o una de sus clases heredadas. En ese momento aparecen múltiples veces, hasta que el teclado no proporciona ninguna entrada. Los eventos táctiles se siguen registrando, pero el sistema se ralentiza, y eventualmente puede llevar a errores de objeto no asignado.
EDIT #1: Tengo acceso al framework importado, pero no veo nada raro en las clases que causan el problema.
EDIT #2: Acabo de recibir un correo electrónico que iOS 7.1 ha sido liberado para los desarrolladores. I'm curiosidad por ver si esto desaparece, o empeorar, o puede ser resuelto.
Si tiene curiosidad por saber qué código está causando estos registros, puede añadir un punto de interrupción simbólico en CGPostError
.
Otros te pedirán que publiques el código en el que accedes a un contexto gráfico central, pero dudo que ese sea el problema. Estos mensajes de error de contexto no válido 0x0 son comunes y fáciles de reproducir en iOS 7. De hecho, puedo reproducir el error utilizando storyboard sin código. Arrastro un UITextField en el lienzo en IB, ejecutar la aplicación, y doble toque en el interior del campo de texto.
En muchas situaciones, me resulta difícil tomar en serio los mensajes de error de contexto no válido 0x0. No sé si tu situación justifica una mayor preocupación (estoy de acuerdo con Rob Napier en que merece la pena investigarlo, especialmente si estás utilizando explícitamente un contexto gráfico).
En mis propios proyectos, espero que muchos de estos errores desaparezcan algún día por arte de magia (pero ese día no llegó con 7.0.3).
Actualización: Tras instalar Xcode 5.1 y apuntar a iOS 7.1, ya no puedo reproducir el error pulsando dos veces dentro de un campo de texto vacío.
Este tipo de errores son históricamente el resultado de llamar a funciones de Core Graphics cuando no están dentro de un contexto que se establece dentro de drawRect
o entre llamadas como UIGraphicsBeginImageContext
y UIGraphicsEndImageContext
(u otras funciones de UIKit como esa que comienzan y terminan un contexto).
Dicho esto, sin embargo, bilobatum tiene razón en que esta secuencia particular de errores puede ser el resultado de ese bug de iOS 7 al que hace referencia en su respuesta. Si no ve estos errores en sus objetivos iOS6, o si después de una exploración rápida de este marco privado no encuentra ninguna llamada sospechosa a Core Graphics, puede que sólo sea este error de iOS 7. Bien visto, bilobatum.