iphone - Xcode "Uso de identificador no declarado" errores, compila/ejecuta muy bien
ios ipad (10)
Tengo un problema increíblemente molesto que obstaculiza mi flujo de trabajo. En mi proyecto tengo errores de "Usuario de identificador no declarado" por todas partes. Todos hacen referencia a una sola clase, específicamente una clase de tema. Revisé cualquier referencia circular con mis importaciones, ninguna. Estoy realmente confundido.
Aquí hay una captura de pantalla de los errores. Publicaría errores en el Registro de construcción para más detalles, pero no los hay. Se construye y funciona bien ...
Intenté limpiar, eliminar los datos derivados ... ¿Alguna idea?
¿Cómo estás incluyendo esta clase? En la mayoría de los casos solo incluyo la clase explícitamente en el encabezado y / o el cuerpo, en lugar del archivo * .pch. Entonces este error desaparece en mi caso.
También elimina los trabajos de datos derivados de vez en cuando. ¿Cambió la ubicación en las preferencias recientemente por casualidad? También recibí este error cuando uso un ramdisk para los datos derivados y luego vuelvo al estado predeterminado. Este es el caso más molesto, ya que hace que aparezca este error en casi todos los archivos.
Este error parece ocurrir más a menudo en Xcode 4.4 que en las versiones anteriores.
¿Ha incluido los archivos de la biblioteca correctamente? Mira eso. A veces, los problemas de ARC pueden ocurrir si no incluimos el archivo correcto o si falta algo o no se está conectando la IU.
Estaba teniendo el mismo problema y noté que todos los identificadores no declarados se declararon en archivos que estaban en mi archivo pch.
Con esto en mente, eliminé una de las #import líneas del archivo pch y volví a compilar, que falló como se esperaba. Luego volví a colocar la línea eliminada, recompilada y compilada normalmente con todos los errores falsos desaparecidos.
Con suerte, esta solución simple ayuda a algunos de ustedes si las soluciones anteriores no lo hacen.
Este tipo de errores son bastante comunes con Xcode, desafortunadamente. Sería genial si actualizara automáticamente su lista de errores todo el tiempo, pero no siempre. Cuando esto suceda, le recomiendo encarecidamente que reinicie Xcode, lo que eliminará su caché de errores y, con suerte, resolverá sus problemas.
Para mí, el problema fue que creé el archivo UnityInterface.h / m para manejar la interfaz obj-c a c #. UnityInterface.h ya está definido por Unity. Cambié el nombre de mi propia UnityInterface a _UnityInterface y ahora todo funciona.
Para otros que experimentaron el mismo problema y probaron todas las soluciones anteriores sin ningún resultado, quizás deberían intentar algo como lo hice yo. Resolví el problema simplemente desenchufando el cable USB de mi iPhone y luego volví a enchufar el cable. Después de eso, reconstruyó de nuevo y todos los errores de identificador no declarados desaparecieron.
Puede ser un poco tarde para responder.
Tuve este problema muy recientemente. Lo soluciono actualizando mi sistema operativo y luego actualizando Xcode. Traté de actualizar Xcode solo, pero no sucedió porque Xcode 9.4 requiere OS High Sierra 10.13. *
Feliz actualización :)
Solo publique esto para cualquier persona que pueda tener este problema más adelante y no encuentre que ninguna de estas soluciones funcione: si tiene cualquier pragma marcado con #if instrucciones que solo se ejecutan si el programa está en modo de depuración obviamente causará cualquier cosa declarada dentro de para que no se declaren cuando intenta archivar / exportar.
Yo tenía el mismo error. En mi caso, estaba en esta línea de código:
- (void)playerItemDidReachEnd:(NSNotification *)notification {
// some code
}
Mi mensaje de error dijo:
Use of undeclared identifier ''playerItemDidReachEnd''
Intenté agregar esta línea al archivo .h:
- (void)playerItemDidReachEnd:(NSNotification *)notification;
Lo limpié, reinicié mi macbook y aún recibía el error.
Finalmente, decidí tratar de eliminar la línea en el archivo .h. Luego lo pegué en un archivo de texto, y luego lo copié y pegué en el archivo .h.
¡Ahora limpié y VOILA ''! no más errores Imagínate. Esto sucede a veces en VBA. De alguna manera, parece haber un formato invisible en una línea de código. Así que pensé que podría estar sucediendo con xCode. Cortarlo, pegarlo en un archivo de texto, cortar el archivo de texto y pegarlo nuevamente en el lugar correcto, lo arreglé en mi caso.
---- ACTUALIZACIÓN ----- Lo anterior fue publicado como mi respuesta. Disculpas, aparentemente hay algo más que está mal.
Después de limpiar, mis ERRORES desaparecieron. Ahora intenté construir y ejecutar mi aplicación. LOS ERRORES VUELVEN! Así que esta vez volví a crear los archivos de clase después de cortar todo el texto y pegarlo en un archivo de texto. Lo hice para mis archivos .m y .h. Pero ahora los errores han vuelto a aparecer después de intentar ejecutar. LO SIENTO. No sé cómo eliminar este texto porque no es una respuesta.
Intenté construir y ejecutar mi aplicación. LOS ERRORES VUELVEN!
También hubo un mensaje de error que me faltaba un paréntesis (}). Finalmente, estoy mirando el método justo antes de este método, y estoy seguro de que faltaba el paréntesis final. ¡Eso fue todo!
Yo tuve el mismo problema. Cerrar y abrir XCode no ayudó.
Lo resolví comprobando los errores en otros objetivos y solucionándolos (tuve un montón de errores en mi objetivo de prueba de unidad). También moví enlaces de encabezado de h archivos a m archivos. Pero estoy bastante seguro de que lo primero fue crítico.