Quicklook dejó de funcionar con el file .m y .h de xcode de repente

Hace una semana, quicklook dejó de trabajar con files .m y .h . En cambio, me está mostrando una miniatura .m o .h . Creo que ese día apareció un post y no lo leí – contesté la pregunta apresuradamente – pero no estaba haciendo nada con el sistema. De todos modos, ahora he perdido el quicklook para estos types de file.

Todavía funciona para todos los demás files pnetworkingeterminados. He intentado copyr los files ".qlgenerator" de otro mac, que tiene la misma versión del sistema operativo … y todavía no funcionó.

  • key de escape keyboard anker
  • ¿Cómo hacer frente a los problemas de kernel de WindowServer, tres KEXTs relacionados con NVIDIA en el backtrace, mientras usas Google Chrome?
  • Problemas de Bluetooth
  • ¿Cómo puedo usar la function "search" de Lion sin el trackpad?
  • ¿OSX lento con el time como las windows?
  • "Word of the Day" Screensaver sin palabras?
  • Intenté verificar / reparar permissions de disco, indicó algo concerniente a los files .qlgenerator, pero pensé "Es probablemente debido a mi copy-pegar-replace por files de intruso que probablemente ha cambiado algunos permissions". De todos modos, no solucionó el problema.

    También intenté ejecutar qlmanage -r , y reiniciar mi mac. El problema persiste.

    El otro mac sigue mostrando la forma pnetworkingeterminada (aka, con vistas previas de quicklook) para estos types de file.

    ¿Alguna idea de lo que salió mal? ¿Crees que ese post que he contestado apresuradamente es el responsable de eso? Siento que lo es, pero no estoy seguro, porque no estaba configurando el sistema ni nada, ni siquiera nada que no esté relacionado con quicklook (no sabía que esta function tenía un nombre en ese entonces) ni xcode … Estoy perdido.

    EDIT Como @Bootle sugirió, corrí

    qlmanage -p ARCHIVO

    y sorprendentemente, el Quicklook abrió el file correctamente, es decir, puede ver el contenido del file y el color por defecto XCode para él. Además, se imprimió la siguiente salida en el terminal. introduzca la descripción de la imagen aquí

    ¿Así que más sugerencias?

    EDITAR Nuevos consejos surgieron después de comprobar el logging de la console después de la edición de @StvnW.

    Estoy adjuntando la image de loggings después de orderar quicklook en un file

    UPDATE La solución fue porque estaba manteniendo versiones anteriores de XCodes desde 3.6.2 ^ _ ^ y otras versiones, las pongo todas juntas en una carpeta donde me desautorizé el permiso para acceder a ella. Así también se volvieron inaccesibles al sistema. Y el problema se resolvió, el sistema (o QL) se fijó a la última aplicación oficial de XCode.

    Pero esto es gracias a la siguiente respuesta que me dio esa pista de la debugging. Supongo que otras personas que tienen este mismo problema deben seguir su respuesta. Estoy marcando esta respuesta como la respuesta correcta

  • Dispositivo de visualización de olvido de MacBook Air
  • Pantalla externa limitada a 1080p después de 10.9.2. actualizar
  • OSX ssh-agent: no se pega la contraseña, y el problema con PKCS # 8?
  • Desactivar AirPlay en una Mac
  • Desde la actualización a OS X Mavericks, no puedo abrir ningún file en un recurso SMB desde mi PC con Windows 8.1
  • ¿Por qué Spotlight in Mavericks no muestra la location de los resultados de búsqueda?
  • 2 Solutions collect form web for “Quicklook dejó de funcionar con el file .m y .h de xcode de repente”

    Podría considerar simplemente usar QLStephen, que agregará soporte QuickLook adecuado para todos los files de text independientemente de sus extensiones. También manejará correctamente files sin extensiones (por ejemplo, README , Makefile ). Lo que me gusta es que no tienes que mantener una list de extensiones; QLStephen detecta files de text automáticamente. QLStephen es independiente de XCode y es un plugin de QL que se introduce en /Library/QuickLook/ o ~/Library/QuickLook/ .

    El hecho de que también me llamen Steven es pura coincidencia.

    Editar: Depurar QuickLook basado en más información de OP:

    Active el logging de QuickLook:

     defaults write -g QLEnableLogging YES 

    Aquí hay una salida de logging de reference (escrita en Consola):

    Stock Xcode instalado:

     2014-04-29 2:46:08.172 PM quicklookd[19315]: [QL] Thumbnailing file://localhost/Users/user/src/hello/main.m. Content type UTI: public.objective-c-source Generator used: <QLGenerator Text.qlgenerator> 2014-04-29 2:46:08.173 PM com.apple.quicklook.satellite[19330]: [QL] <QLThumbnailRequest main.m token: d45af7955eb9401bc7a49fd6652d1c3aa5cc4a8b;00000000;000000000000001a; com.apple.app-sandbox.read;00000001;01000003;0000000003e32849; /users/user/src/hello/main.m>. Content type UTI: public.objective-c-source. Generator used: <QLGenerator /System/Library/QuickLook/Text.qlgenerator> 

    Generador de terceros (QLColorCode) instalado:

     2014-04-29 2:51:40.458 PM quicklookd[19359]: [QL] Thumbnailing file://localhost/Users/user/src/hello/main.m. Content type UTI: public.objective-c-source. Generator used: <QLGenerator /Users/user/Library/QuickLook/QLColorCode.qlgenerator> 2014-04-29 2:51:40.459 PM com.apple.quicklook.satellite[19367]: [QL] <QLThumbnailRequest main.m token: d45af7955eb9401bc7a49fd6652d1c3aa5cc4a8b;00000000;000000000000001a; com.apple.app-sandbox.read;00000001;01000003;0000000003e32849; /users/user/src/hello/main.m>. Content type UTI: public.objective-c-source. Generator used: <QLGenerator /Users/user/Library/QuickLook/QLColorCode.qlgenerator> 

    Dado que las cosas funcionan para ti cuando llamas a qlmanage desde la command-line, podrías comparar los loggings escritos en Consola con la salida de invocar manualmente en la command-line y localizar el problema. Con sólo Xcode instalado:

     [user@macbook]/Users/user/src/hello$ qlmanage -p -d 1 main.m Testing Quick Look preview with files: main.m [DEBUG] Registering <QLGenerator Built-in 0x7fa08241eaa0> for public.image [DEBUG] Preview test for main.m -- file://localhost/Users/user/src/hello/. Content type UTI: public.objective-c-source [DEBUG] Previewing file://localhost/Users/user/src/hello/main.m. Content type UTI: public.objective-c-source. Generator used: <QLGenerator Text.qlgenerator> [DEBUG] Loading <QLGenerator Text.qlgenerator> [DEBUG] Previewing file://localhost/Users/user/src/hello/main.m finished 

    QuickLook para estos types de files funciona porque el tipo de file se especifica en Info.plist de Xcode.

    Para que QuickLook utilice Xcode para volver a ver rápidamente estos files en Finder, tendrá que editar el file Info.plist de Xcode. Esto se encuentra haciendo clic derecho en el file Xcode.app en sus Aplicaciones y haciendo clic en "Mostrar contenido del package". Encontrará Info.plist en la carpeta Contenido que se abre.

    En el file Info.plist, todos los types de file asociados con Xcode se enumeran como dictionarys "CFBundleTypeExtensions".

    Una vez abierto el plist, haga una búsqueda para <string>h</string> (o lo mismo con 'm'). Si no se puede encontrar, deberá agregarlo.

    Nota: En este punto, es posible que desee crear una copy de security de todo el file Xcode.app en caso de que algo salga mal.

    Hacer una copy de Info.plist por alt-arrastrar a su escritorio. Abra la copy y busque <key>CFBundleExecutable</key> . Aparecerá </array> en la línea superior. Antes de la </array> , pegue en el bloque de text para permitir que un tipo de file se asocie con Xcode (se muestra a continuación). Este bloque debe comenzar y terminar con <dict> y </dict> , respectivamente.

    Para el file .h:

     <dict> <key>CFBundleTypeExtensions</key> <array> <string>h</string> </array> <key>CFBundleTypeIconFile</key> <string>c-header_Icon</string> <key>CFBundleTypeName</key> <string>C Header Source</string> <key>CFBundleTypeRole</key> <string>Editor</string> <key>LSIsAppleDefaultForType</key> <true/> <key>LSItemContentTypes</key> <array> <string>public.c-header</string> </array> </dict> 

    Para el file .m:

     <dict> <key>CFBundleTypeExtensions</key> <array> <string>m</string> </array> <key>CFBundleTypeIconFile</key> <string>objective-c-source_Icon</string> <key>CFBundleTypeName</key> <string>Objective-C Source</string> <key>CFBundleTypeRole</key> <string>Editor</string> <key>LSIsAppleDefaultForType</key> <true/> <key>LSItemContentTypes</key> <array> <string>public.objective-c-source</string> </array> </dict> 

    Una vez hecho esto, debería ser capaz de copyr el Info.plist editado de nuevo en la carpeta Xcode.app Contents. A veces, las aplicaciones no les gusta editar sus plists y decidir no trabajar después. Si este es el caso, sólo restaure de la copy que (debería) haber hecho antes.

    Esto se puede replicar con cualquier aplicación y cualquier tipo de file. Si hay una manera mejor de hacer esto quizás cambiando / fijando algunas preferences en Xcode, sería bueno saberlo.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).