2011-12-31 17 views
9

He intentado buscar en Google, y no obtuve ningún resultado literalmente al tratar de entender lo que esto significa. Mi consola está registrando:Oscuro registro de la consola NSZombie

objc[17048]: Class _NSZombie_GEOLatLng is implemented in both ?? and ??. One of the two will be used. Which one is undefined. 
objc[17048]: Class _NSZombie_GEOLatLng is implemented in both ?? and ??. One of the two will be used. Which one is undefined. 
objc[17048]: Class _NSZombie_GEOLocation is implemented in both ?? and ??. One of the two will be used. Which one is undefined. 
objc[17048]: Class _NSZombie_GEOLocation is implemented in both ?? and ??. One of the two will be used. Which one is undefined. 

Alguien ha visto esto antes, o tiene alguna idea de lo que significa, lo que está causando, y si es un problema?

+1

¿Tiene algún método que tenga subcadenas de texto GEOLatLng? ¿Compartes tu código relevante si hay alguno? Pruebe probar sin NSZombieEnabled si está probando con él. – Krishnan

Respuesta

5

Lo he visto. Específicamente, en OS X, pero la causa debería ser la misma. GEOLocation (y otros) se define en dos imágenes que se cargan en el proceso.

Si se tratara de una clase que escribió, los símbolos de la clase se definen en varios archivos de objeto (probablemente sería un error de enlazador ...), en las bibliotecas vinculadas, paquetes cargados o alguna combinación de - cuando el código puede estar cargado dinámicamente

Si no es una clase que escribió (o sintetizó), presente un error con el creador de la clase.

También es posible que la clase esté definida en su aplicación y también esté definida en una biblioteca vinculada. En ese caso, necesitarías cambiar el nombre de tu clase.

Definitivamente es un problema. La clase (con ese nombre) se está cargando en el tiempo de ejecución de objc dos veces, y no hay garantías en cuanto a qué implementación se devolverá cuando se cree una instancia, ya que objc usa un espacio de nombre plano.

En este caso, la clase existe en los marcos del sistema, así que ... envíela al informe de fallos, merece ser reparado rápidamente.

+0

GEOLocation y GEOLatLng no están en ninguna clase que haya definido. No parece que estén en ninguno de los paquetes externos que estoy usando (SBJson y ASIHTTP). ¿Eso significa que debe ser un error del enlazador? A primera vista, no parece que haya problemas en la vinculación. ¿Tienes alguna sugerencia sobre dónde debería mirar? – Mason

+0

@Mason sí. al final, dije que están definidos/usados ​​por los marcos del sistema. deberías presentar un error con Apple. Hágales saber las bibliotecas que vincula, una versión del sistema operativo que produce este error y cualquier otro paso necesario para reproducirlo. – justin

0

Tenía este mensaje oscuro y noté que un NIB había sido eliminado del proyecto, pero el código aún lo estaba usando. Es posible que desee comprobar si se han eliminado recursos del paquete que todavía están en uso.

2

Esta es una advertencia inofensiva que ocurre cuando habilita las advertencias zombie en el esquema de compilación. Puedes ignorarlo

Cuestiones relacionadas