6 votos

QuickLook dejó de trabajar con xcode ' s .m y .h archivo de repente

Hace una semana, quicklook dejó de trabajar con .m y .h archivos. En su lugar, me muestra un .m o .h miniatura. Creo que a día de un cuadro de mensaje que apareció y no la he leído - me respondió la pregunta a toda prisa -, pero yo no estaba haciendo nada con el sistema. De todos modos, ahora he perdido el quicklook para estos tipos de archivo.

Todavía funciona para todos los demás archivos por defecto. He intentado copiar el ".qlgenerator" archivos desde otro mac, que tiene la misma versión de sistema operativo... y todavía no funciona.

Traté de verificar el disco de reparación de permisos, indica algo acerca de .qlgenerator archivos, pero pensé "Es probablemente debido a mi copy-paste-reemplazar por intruso archivos que probablemente cambió algunos de los permisos". De todos modos, no resolvió el problema.

Yo también intenté ejecutar qlmanage -r, y el reinicio de mi mac. El problema persiste.

El otro mac se sigue mostrando el defecto de forma (aka, con quicklook previsualizaciones) para estos tipos de archivo.

Alguna idea sobre lo que salió mal? ¿Crees que el cuadro de mensaje que me contestó apresuradamente es responsable de eso? Yo creo que lo es, pero no estoy seguro, porque yo no estaba en la configuración del sistema o de nada, ni siquiera algo que está relacionado ni a quicklook (yo no sabía que esta característica tiene un nombre en aquel entonces), ni xcode... estoy perdido.

EDITAR Como @Bootle sugerido, me encontré con

qlmanage -p ARCHIVO

y sorprendentemente, el Quicklook abre el archivo correctamente, es decir, usted puede ver el contenido del archivo y el valor predeterminado de XCode para colorear. Además, la siguiente salida fue impreso en la terminal. enter image description here

Para más pistas?

EDITAR Nuevas sugerencias surgió después de comprobar que el registro de la consola después de @StvnW 's edición.

estoy adjuntando los registros de la imagen después de ordenar quicklook en un archivo

ACTUALIZACIÓN La solución era porque yo era mantener versiones anteriores de XCodes desde 3.6.2 ^_^ y otras versiones, he puesto a todos juntos en una carpeta, donde yo no permitido a mí mismo el permiso de acceso. Así que se convirtió en inaccesible para el sistema. Y el problema fue resuelto, el sistema (o CV) fijo sí a la última oficial de la aplicación XCode.

Pero esto es gracias a la siguiente respuesta que me dio esa sugerencia de la depuración. Supongo que otras personas que tienen este mismo problema se debería seguir su respuesta. Estoy marcado esta respuesta como la respuesta correcta

6voto

StvnW Puntos 276

Usted podría considerar simplemente el uso de QLStephen que añadir adecuada QuickLook de apoyo para todos los archivos de texto, independientemente de sus extensiones. Va a manejar correctamente los archivos sin extensiones (por ejemplo README, Makefile). Lo que me gusta es que usted no tiene que mantener una lista de extensiones; QLStephen detecta los archivos de texto de forma automática. QLStephen es independiente de XCode y es un QL plugin que caer en /Library/QuickLook/ o ~/Library/QuickLook/.

El hecho de que soy también llamado Steven es pura coincidencia.

Edit: la Depuración de QuickLook basado en más info de OP:

Encienda QuickLook de registro:

defaults write -g QLEnableLogging YES

Aquí hay alguna referencia de salida de registro (escrito para la Consola):

Stock de 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>

De terceros generador (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>

Ya que las cosas funcionen para usted al llamar a qlmanage desde la línea de comandos, usted podría ser capaz de comparar los registros por escrito a la Consola con la salida de invocar manualmente en la línea de comandos y detectar 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

4voto

tonys Puntos 2334

QuickLook para estos tipos de archivos funciona porque el tipo de archivo especificado en Xcode de la Información.plist.

En orden para QuickLook utilizar Xcode para vista rápida de estos archivos de nuevo en el Finder, tendrás que editar el Xcode de la Información.plist archivo. Este se encuentra a la derecha haciendo clic en el Xcode.archivo de aplicación en sus Aplicaciones y hacer clic en "Mostrar Contenido del Paquete". Vas a encontrar Info.plist en el Contenido de la carpeta que se abre.

En la Info.plist archivo, todos los tipos de archivo asociados con Xcode aparecen como "CFBundleTypeExtensions" diccionarios.

Una vez que la apertura de la plist, haz una búsqueda por <string>h</string> (o el mismo con 'm'). Si no puede ser encontrado, usted tendrá que agregar.

Nota: En este punto, es posible que desee crear una copia de seguridad de todo el Xcode.archivo de aplicación en caso de que algo va mal.

Hacer una copia de la Información.plist por alt-arrastrar a su Escritorio. Abra la copia y la búsqueda de <key>CFBundleExecutable</key>. Verás </array> sobre la línea por encima de él. Antes de la </array>, pegar en el bloque de texto que permite un tipo de archivo a ser asociado con Xcode (que se muestra a continuación). Este bloque debe comenzar y terminar con <dict> y </dict>, respectivamente.

Para el .h archivo:

<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 .m archivo:

<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, usted debe ser capaz de copiar el editado Info.plist de nuevo en el Xcode.aplicación de los Contenidos de la carpeta. A veces, las apps que no te gusta de la edición de sus plists y decidir no trabajar después. Si este es el caso, simplemente restaurar desde la copia que usted (debe tener) que se hizo anteriormente.

Esto puede ser replicado con cualquier aplicación y cualquier tipo de archivo. Si hay una mejor manera de hacer esto tal vez por el cambio/ajuste de algunas preferencias en Xcode, sería bueno saberlo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X