Cuando selecciona un solo archivo, abre una ventana Obtener información y elige una aplicación diferente, no predeterminada, este enlace de Servicios de lanzamiento se guarda en la bifurcación de recursos del archivo, en un 'usro'
(Anulación del usuario) recurso. Por lo que sé, el formato de este recurso es privado, determinado por Apple, y está sujeto a cambios. (Todos los caracteres en minúscula en el nombre OSType proporcionan una pista, ya que Apple reserva el tipo de archivo, los códigos del creador y los tipos de recursos con todos los caracteres en minúscula. Por ejemplo, el tipo de recurso 'icns'
(Icon Suite), 'ttxt'
(originalmente de Teach Text , pero ahora es el código creador (CFBundleSignature) de TextEdit.app), etc.).
Este recurso se crea mediante las funciones del Administrador de recursos para modificar la bifurcación del archivo, que a su vez actualiza la fecha de modificación del archivo.
Un archivo de ejemplo en el que acabo de probar este procedimiento se muestra en la imagen a continuación, abierta en Resorcerer. (Nota especial: en la columna de la izquierda notará que hay 2 tipos enumerados: 'TEXT'
y 'usro'
. De hecho, solo hay una entrada 'usro'
; Resorcerer muestra que hay una entrada de recurso 'TEXT'
porque se da cuenta de que el contenido de la bifurcación de datos del archivo está basado en texto (un archivo de encabezado de código fuente) y, por lo tanto, proporciona un acceso conveniente a él. La segunda imagen muestra el contenido de este recurso, que básicamente contiene una ruta a la aplicación de destino que elegí.
Dado que este recurso de anulación de usuario 'usro'
se guarda como parte del archivo, eso explica por qué Guía de programación de servicios de lanzamiento: elegir la preferencia de enlace para un archivo afirma lo siguiente:
Nota: las preferencias de enlace explícito para elementos individuales no son específicas del usuario, sino de todo el sistema, es decir, continúan aplicándose al elemento dado en esa misma computadora, incluso si un usuario diferente inicia sesión.
Ahora, para ir un paso más allá. Si ahora hace clic en el botón Change All
para hacer de esto una anulación global, Launch Services eliminará la entrada de recurso 'usro'
y en su lugar creará un enlace global que se almacena en com.apple.LaunchServices.plist (preferencias por usuario) expediente. La eliminación de la entrada 'usro'
se realiza mediante las funciones de Resource Manager, que actualizarán la fecha de modificación del archivo. Tenga en cuenta que si bien elimina el recurso 'usro'
, es posible que no elimine toda la bifurcación de recursos. En la mayoría de los casos, 286 bytes permanecerán en la bifurcación de recursos, que es básicamente la cantidad mínima de espacio ocupado por el encabezado de recursos y el mapa de recursos.