Pregunta El código pierde color de sintaxis en Xcode 4


Acabo de actualizar a la nueva Xcode 4 y el código no está coloreado debe ser.

Por ejemplo, la cadena NSString no está coloreado en mi código personalizado, pero cuando cambio al código de Apple (NSString.h por ejemplo) todo está bien coloreado.

¿Cómo puedo arreglar eso?


11
2018-03-13 10:09


origen


Respuestas:


Es un error conocido con el último XCode. Esto sucede con algunos proyectos que se migran de XCode 3.X a la nueva versión. Para algunas personas, parece ayudar a ir al organizador, y en la pestaña del proyecto, eliminar los datos derivados para el proyecto donde el sentido del código no funciona correctamente.

Si tiene un proyecto pequeño, también podría ser útil crear un nuevo proyecto en XCode 4 e importar los archivos del proyecto XCode 3.

Actualizar: XCode 4.0.1 mejoró un poco la situación, al menos en algunos de mis proyectos tengo coloreado de sintaxis y código de retorno. Pero todavía está lejos de ser arreglado.

Actualización 2: XCode 4.0.2 no cambió mucho. Parece que el problema está relacionado con los subproyectos, específicamente las bibliotecas estáticas. De acuerdo a los comentarios de esta publicación en el blog algunas personas tuvieron éxito al cambiar las rutas de búsqueda de encabezado de las rutas relativas a las rutas absolutas, p. en lugar de Foo/Bar utilizar $(SOURCE_ROOT)/Foo/Bar. Esto, junto con el cambio de todos los proyectos al formato XCode 3.1 y el uso de LLVM 2.0 también me arregló mucho. Aún no es perfecto, pero se puede usar.

Actualización 3: Después de convertir los proyectos secundarios en proyectos independientes y ponerlos en una espacio de trabajo (aka el modo XCode 4) Ahora tengo de nuevo el resaltado de sintaxis completo y la finalización del código.

Mi entorno actual es ahora un espacio de trabajo XCode 4 con cada proyecto siendo compatible con 3.1 (a diferencia del predeterminado que es 3.2), LLVM GCC 4.2 (predeterminado del sistema) y las rutas de búsqueda del encabezado son todavía absolutas (usando $(SOURCE_ROOT)/.../)


24
2018-03-13 10:25



Utilicé Macro indefinido, pero esas macros definidas en Macros de Preprocesador en la configuración de compilación. Entonces el xcode4 no generó ningún error para esa macro indefinida.

Pasos tomados para resolver.

  1. Eliminé macros indefinidas donde quiera que use esas macros indefinidas.
  2. Se eliminaron las definiciones duplicadas de Marcos.
  3. Se eliminaron los recursos duplicados. (Agregué los mismos archivos (muchos archivos Thumbs.db) al proyecto).
  4. Limpiar y construir

Si todavía no obtiene el color, cambie su ubicación a otra ubicación. Cambié a la ubicación de mi Escritorio.

Después de estos pasos obtuve el color en mis ojos.

Pero es un problema muy malo. Yo apesta mucho tiempo valioso. Creo que estos pasos pueden ayudarte.

Gracias.


3
2018-03-22 07:54



Tuve el mismo problema con el mío. Es un juego de cocos2d con caja y ardilla listada. Fue un verdadero desastre lograr que el proyecto reconociera y encontrara las rutas de búsqueda de los usuarios en primer lugar, así que no estaba dispuesto a meterme con ellos.

Lo que quería señalar es que TENGO caminos recursivos y que tengo caminos relativos y todavía tengo el problema. Sucedió cuando agregué una nueva versión de un SDK de terceros que estaba usando. Fue Testflight 083 el que actualicé a 1.0. Borré mi versión anterior pero solo eliminé las referencias. Luego lo borré manualmente del buscador. Importé la nueva carpeta SDKv1 y la releí a mi proyecto y eliminé la ruta de la carpeta SDK0 anterior, dejando solo la ruta de la carpeta SDK1 recién agregada. Por alguna razón, noté que aunque en v083 había usado un #import en mi archivo Prefix.pch, todavía no reconocía una llamada a un método desde AppDelegate. Lo que significa que el #import en Prefix.pch por algún motivo no funcionaba. Tuve que agregar #import a mi archivo AppDelegate de forma individual. Esto me dio #importaciones duplicadas como Jeeva dijo anteriormente. Eso sonó una alarma en mi cabeza.

Así que la solución fue ir y eliminar efectivamente el #import duplicado en Prefix.pch por lo tanto, solo dejando el de AppDelegate. Se vuelve a indexar y CodeSense funciona de nuevo. Gracias Jeeva!


1
2017-07-04 16:03



Este problema me estaba volviendo loco, y había perdido la esperanza de solucionarlo sin un feo truco en la configuración de XCode. Pasé por este hilo del foro un montón de veces. Entonces, un día, accidentalmente lo solucioné. No estoy seguro de si necesita todos estos pasos, pero he encontrado que esta es una manera segura de solucionar los problemas de indexación de XCode:

  • Limpie su proyecto (Command-shift-K)
  • Abra el organizador, cierre su proyecto.
  • Debajo de la pestaña "Proyectos" del organizador, elimine los datos derivados del proyecto que desea restablecer.
  • Salir de XCode
  • En la terminal, ejecuta:

    sudo mdutil -a -i on
    

    Esto parece restablecer la indexación de Spotlight (no sé mucho sobre él porque no uso Spotlight).

  • Cuando el comando finaliza, Spotlight tendrá que volver a indexar. Mire hacia arriba para ver un pequeño punto en la lupa como icono de su reflector. Cuando el punto se va, el foco se ha vuelto a indexar. Puede verificar el progreso abriendo el foco.
  • Vuelva a abrir XCode y espere a que vuelva a indexar todos sus archivos.
  • Construye el proyecto.

En el éxito de compilación, ahora debería tener resaltado de sintaxis adecuado de nuevo. Espero que encuentren este pequeño descubrimiento tan útil como lo hice :)

EDITAR:

Probablemente debería añadir que el resaltado de sintaxis a veces parece volver a romperse cuando el depurador cuelga el simulador durante el lanzamiento de la aplicación. Solo trato de evitar esto teniendo más cuidado de dejar que el proceso se cuelgue.

EDIT2: (lo siento, primera contribución)

Funciona en XCode 4.6 y 4.6.2.


1
2018-04-19 07:33