7 votos

¿Por qué es una línea de comando cambiar a ~/Library/Preferences/com.apple.LaunchServices.plist no es efectiva de inmediato?

Cuando la ventana de Información del Finder se utiliza para asociar archivos de un tipo determinado con una aplicación:

  • la preferencia es efectiva inmediatamente.

Cuando se utiliza el Terminal para hacer comparables, además de a ~/Library/Preferences/com.apple.LaunchServices.plist

  • la preferencia no es efectiva de inmediato.

Pregunta

¿Por qué el Lanzamiento de los Servicios no de inmediato respecto de escritura para el usuario com.apple.LaunchServices.plist?

Una respuesta ideal podría ser una referencia a una página en la de Desarrollador de Apple área.

Las respuestas no tienen implican la ejecución de un comando.

De fondo

Agente o demonio?

Preguntándose si un demonio o agente hace los cambios .plist eficaz, me encontré:

sudo launchctl list

En la lista, bajo la etiqueta de título, yo no veo nada que pueda relacionarse con el Lanzamiento de Servicios.

Referencias

Una respuesta de Stack Overflow pregunta de Cómo configurar la aplicación predeterminada para determinados tipos de archivos en Mac OS X? sugiere:

... para ser recargado. Usted puede cerrar la sesión, espera un par de minutos o de fuerza launchservices a reiniciar ...

En mi caso:

El aceptó responder a Super Usuario pregunta ¿hay una manera más rápida de cambiar por defecto las aplicaciones asociadas con los tipos de archivos en OS X? sugiere:

... reiniciar el sistema operativo para aplicar los cambios (registro de salida y la de regreso en casa no es suficiente) ...

- si el reinicio es suficiente, que es probablemente menos tiempo que matar, a continuación, la siembra de los Servicios de Lanzamiento de la base de datos.

9voto

Ryan Spears Puntos 1524

De Apple del Lanzamiento de los Servicios de Guía de Programación (todo el énfasis es mío):

Todas las aplicaciones disponibles en el sistema del usuario debe estar registrado para darlas a conocer a los Servicios de Lanzamiento y copia de su documento vinculante y otra información en su base de datos. No es normalmente necesario para realizar esta tarea de forma explícita, ya que una gran variedad de utilidades y servicios integrados en el sistema Mac OS X software de tomar el cuidado de él de forma automática:

  • Un built-en el fondo de la herramienta, se ejecuta cada vez que se arranca el sistema o un nuevo usuario se registra, automáticamente busca en las carpetas de Aplicaciones en el sistema, de red, de local, y de dominios de usuario y registra las nuevas aplicaciones que se encuentre allí. (Esta operación es análoga a la "reconstrucción del escritorio" en versiones anteriores de Mac OS.)
  • El Buscador registra automáticamente todas las aplicaciones como tenga conocimiento de ellos, como cuando se arrastra en el disco del usuario o cuando el usuario navega a una carpeta que los contiene.
  • Cuando el usuario intenta abrir un documento por el cual no preferida de la aplicación se puede encontrar en el Lanzamiento de los Servicios de base de datos, el Buscador presenta un cuadro de diálogo que pide al usuario que seleccione una aplicación con la que se abre el documento. A continuación, registra que la aplicación antes de su lanzamiento.

A pesar de estas automático de registro de utilidades, a veces puede ser necesario para registrar una aplicación de forma explícita con el Lanzamiento de los Servicios. Por ejemplo, aunque se anima a los desarrolladores a empaquetar sus aplicaciones para que puedan ser instalado simplemente arrastrándolas en el disco del usuario, algunas aplicaciones pueden requerir más elaborado instalador personalizado de software. En tales casos, el instalador debe llamar a uno de los Servicios de Lanzamiento de registro de funciones LSRegisterFSRef o LSRegisterURL para registrar la aplicación de forma explícita.

Nota las llamadas a la API necesaria por el sólo nombre de manual de procedimiento de registro (fuente no disponible en opensource.apple.comme temo).

Mientras trabaja cerca de un error en el procesamiento de Servicios de Lanzamiento de Leopard con FileVault activado, me di cuenta de que ~/Library/Preferences/com.apple.LaunchServices.plist está:

  • procesados sólo en el inicio de sesión después del arranque, como datos de entrada para la acumulación de los Servicios de Lanzamiento de la base de datos adecuada (FileVault activado Leopardo, a menudo, no hacer este paso, lo que aparentemente perdido la configuración de usuario); y

  • en caché mientras la máquina no se reinicia.

En pocas palabras, es el usuario de dominio de la capa de persistencia de Servicios de Lanzamiento, y modificaciones para que la capa de persistencia se reconoce en el siguiente procesamiento de reiniciar o reiniciar.

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