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

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

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

  • En OS X, ¿es mejor poner aplicaciones en / Aplicaciones o en ~ / Aplicaciones?
  • Abra las Preferences del sistema con un atajo de keyboard
  • Alternativa a multitouch en Mavericks
  • Cómo degradar la subversión a la versión 1.7
  • Mover al inicio de la línea en Terminal.app
  • ¿Cómo cambiar el idioma utilizado en Mac App Store?
  • Intenté verificar / reparar permissions en el disco, indicó algo con respecto a los files .qlgenerator, pero pensé: "Probablemente se deba a que copie y pegue los files del intruso que probablemente cambiaron algunos permissions". De todos modos, no resolvió el problema.

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

    El otro mac todavía muestra la forma pnetworkingeterminada (aka, con vistas previas de quicklook) para estos types de files.

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

    EDITAR Como sugirió @Bootle, corrí

    qlmanage -p ARCHIVO

    y sorprendentemente, el Quicklook abrió el file correctamente, es decir, puede ver el contenido del file y el color XCode pnetworkingeterminado para él. Además, la siguiente salida se imprimió en el terminal. enter image description here

    Entonces, ¿hay más pistas?

    EDITAR Nuevas sugerencias surgieron después de revisar el logging de la console después de la edición de @StvnW.

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

    ACTUALIZACIÓN La solución fue porque tenía versiones anteriores de XCodes desde 3.6.2 ^ _ ^ y otras versiones, las puse todas juntas en una carpeta donde no me permití el permiso para acceder a ellas. Por lo tanto, también se volvieron inaccesibles para el sistema. Y el problema fue resuelto, el sistema (o QL) se arregló a la última aplicación oficial de XCode.

    Pero esto es gracias a la respuesta a continuación que me dio esa pista de la debugging. Supongo que otras personas que tienen este mismo problema deberían seguir su respuesta. Estoy marcando esta respuesta como la respuesta correcta

  • Opción de configuration de Missing Safari "Safari se abre con"
  • ¿Cómo accedo a las PC con Windows en la networking?
  • Cómo actualizar a macOS Server desde el server que ejecuta OS X 10.9.5 y OS X Server 3.2.2
  • Desactivar Keep In Dock en la aplicación mover
  • Cómo utilizar 3 pantallas DVI con la nueva Mac Pro (finales de 2013)
  • ¿Cómo restauro autoconf después de la actualización Mountain Lion?
  • 2 Solutions collect form web for “Quicklook dejó de funcionar con el file .m y .h de xcode de repente”

    Puede considerar simplemente usar QLStephen, que agregará compatibilidad QuickLook adecuada para todos los files de text, independientemente de sus extensiones. También manejará adecuadamente los 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 complemento de QL que se /Library/QuickLook/ en /Library/QuickLook/ o ~/Library/QuickLook/ .

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

    Editar: Depuración de QuickLook en function de más información de OP:

    Active el logging de QuickLook:

     defaults write -g QLEnableLogging YES 

    Aquí hay alguna salida de logging de reference (escrita en la console):

    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 le funcionan cuando llama a qlmanage desde la command-line, es posible que pueda comparar los loggings escritos en la Consola con la salida de invocación manual en la línea de command y detectar el problema. Con solo 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 este tipo de files funciona porque el tipo de file se especifica en Info.plist de Xcode.

    Para que QuickLook use Xcode para ver rápidamente estos files en Finder, deberá 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 files asociados con Xcode se enumeran como dictionarys "CFBundleTypeExtensions".

    Una vez que abres el plist, haz una búsqueda de <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.

    Haga una copy de Info.plist arrastrándolo a su Escritorio. Abra la copy y busque <key>CFBundleExecutable</key> . Verás </array> en la línea superior. Antes de </array> , pegue el bloque de text que permite asociar un tipo de file con Xcode (se muestra a continuación). Este bloque debería 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 poder copyr el Info.plist editado nuevamente en la carpeta de Contenidos de Xcode.app. A veces, a las aplicaciones no les gusta que edite sus lists y decida no trabajar más adelante. Si este es el caso, simplemente restaure desde la copy que (debería) haber hecho antes.

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

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