0 votos

MacOS Sierra vs el ícono de mi instalador DMG

Estoy distribuyendo mi aplicación (fuertemente editada en la imagen de abajo) a través de un instalador DMG de solo lectura. Tanto la aplicación como el DMG están firmados y pasan la validación Gateway. Mi máquina de compilación es un El Capitan 10.11.6.

En Sierra (10.12) solamente, después de montar el DMG, esto es lo que Finder me muestra (excepto el aviso a la izquierda que, por supuesto, activo después):

captura de pantalla

Como puedes ver:

  • el icono de Applications no es el que uno esperaría;
  • clic derecho -> Obtener información muestra el icono esperado para el alias (en la parte superior así como debajo de Vista previa).

Forzar el cierre de Finder corregirá esta situación.

Descargué un paquete de Skype para Mac, sabiendo que utiliza el mismo mecanismo de implementación. Curiosamente, el icono de Applications se muestra correctamente desde el principio.

Otro aspecto interesante es que al hacer clic en Obtener información en el alias de Applications de mi DMG mostrará (en la parte inferior de la ventana) la sección de Compartir y permisos, mientras que el de Skype no lo hará.

Detalles que pueden ser relevantes: mi DMG se crea utilizando un DMG "plantilla", que estoy modificando, luego clonando y haciendo que el clon sea de solo lectura. El alias colocado en la imagen de plantilla es un alias que creé en mi sistema y simplemente lo copié allí.

Agradecería cualquier idea sobre lo que estoy haciendo mal. Gracias. [Pregunta actualizada abajo, dejé esta por razones de consistencia.]

[ACTUALIZACIÓN] Encontré este hilo de SOV, que parece sugerir que no estoy haciendo nada mal per se. ¿Hay algún remedio, por ejemplo, volver a lanzar Finder programáticamente después de que abra la ventana (AppleScript)? ¿O algo aún menos feo? No apostaría mi dinero a que Apple solucionará esto pronto, ya que Finder "obtener" aplicaciones "apresuradamente" y mostrar el círculo tachado sobre su icono como si estuvieran rotas, cuando no lo estaban en realidad, era un problema de larga data.

2 votos

Incluso si es posible, relanzar Finder en la computadora del usuario sin permiso explícito suena como una Mala Idea™.

0 votos

@tubedogg: Puedo pensar en bastantes situaciones donde esto sería al menos confuso. Si me estoy perdiendo algo realmente peligroso, es porque estoy lejos de ser un usuario avanzado en Mac; realmente soy el tipo de "portar esta cosa a Mac". Si pudieras proporcionar algunas razones, te lo agradecería.

2 votos

Parece que estás usando un alias de Finder a las Aplicaciones, en lugar de un enlace simbólico de estilo unix. Los alias almacenan mucha información sobre el elemento original en la computadora en la que fue creado, lo que a veces confunde las cosas cuando se mueven a otra computadora. Intenta crear un enlace simbólico en su lugar, con algo como ln -s /Applications /Volumes/QST-6.5-devel-setup/Applications - eso podría comportarse mejor.

1voto

Nate Puntos 220

Mi comentario original: Parece que estás usando un alias de Finder a Applications, en lugar de un enlace simbólico de estilo unix. Los alias almacenan mucha información sobre el elemento original en la computadora en la que se crearon, lo que a veces confunde las cosas cuando se mueven a otra computadora. Intenta crear un enlace simbólico en su lugar, con algo como ln -s /Applications /Volumes/QST-6.5-devel-setup/Applications -- eso podría comportarse mejor.

Aquí tienes una comparación más detallada de los dos:

introducir descripción de la imagen aquí

La ventana de Información del Finder los enumera a ambos como "Tipo: Alias", pero solo el verdadero alias tiene un botón "Seleccionar Nuevo Original". Además, el enlace simbólico es mucho más pequeño, ya que los verdaderos alias incluyen todo tipo de información sobre el elemento original (el número de identificación de archivo (inode) y nombre del archivo, la identificación de archivo y la ruta de la carpeta en la que estaba, información sobre en qué volumen estaba, si el volumen era una imagen de disco o un volumen de red, tendrá información sobre cómo volver a montar el volumen, ...). Mi ejemplo de alias, con 612 bytes, es mucho más pequeño que el tuyo, probablemente porque se hizo bajo Sierra, y creo que Sierra puede haber cambiado un poco el formato. El enlace simbólico, en comparación, tiene solo 13 bytes -- en realidad es solo el texto "/Applications" (que son 13 caracteres).

La diferencia en la cantidad de información que tienen tiene implicaciones importantes en cómo funcionan. Los verdaderos alias son mucho más robustos: puedes renombrar un archivo o moverlo a una carpeta diferente, y el alias aún puede encontrarlo por identificación de archivo; por otro lado, si lo eliminas y lo reemplazas, lo encontrará por nombre y carpeta. Un enlace simbólico, en cambio, es más frágil: si mueves o renombras el archivo original, el enlace simbólico no tiene ninguna información que pueda ayudar a ubicarlo.

Pero para la portabilidad, la falta de información adicional en un enlace simbólico es en realidad una verdadera ventaja: en una computadora diferente, todo tendrá una identificación de archivo diferente, la información del volumen será obviamente diferente, etc. Peor aún, algún otro archivo podría tener la misma identificación que el original tenía en tu computadora, ¡y el alias podría(*) resolverse a él! Toda esa información adicional realmente solo está creando oportunidades de confusión. Pero la carpeta de Aplicaciones siempre estará en "/Applications", por lo que el enlace simbólico siempre resolverá a ella, sin posibilidad de confusión.

(*) [¡Editar:] Hace mucho tiempo, si un alias se resolvía a un archivo por identificación de archivo y a un archivo diferente por carpeta y nombre, la coincidencia de identificación tomaría precedencia. Apple cambió la prioridad hace un tiempo -- ya sea en una versión temprana de OS X o incluso en una versión tardía de Mac OS 9, no recuerdo -- así que ahora la identificación de archivo realmente solo debería causar problemas si no existe nada en la ruta "correcta". Pero si creas un verdadero alias a, digamos, /Library/Application Support/TuApp, y eso no existe en alguna otra computadora, podría resolverse a cualquier otro archivo o carpeta que tenga la misma identificación de archivo.

Hay otra diferencia que olvidé mencionar: todas las APIs de acceso a archivos en OS X saben cómo resolver enlaces simbólicos, por lo que funcionan genial tanto con aplicaciones de GUI como con herramientas de línea de comandos y unix portadas. Los verdaderos alias, por otro lado, solo son entendidos por las APIs Cocoa y Carbon (básicamente, los entornos de programación GUI propietarios de Apple), por lo que las herramientas de línea de comandos (que utilizan APIs POSIX simples) los ven simplemente como archivos, y no tienen ni idea de cómo resolverlos al elemento original. Esto no es relevante en tu situación, pero pensé que debería agregarlo por completitud.

0 votos

La excelente y detallada explicación añadida a la respuesta original es muy apreciada. Me preguntaba por qué "Seleccionar Nuevo Original..." no rayaba mi retina (sin doble sentido). Resulta que al estar en un DMG de solo lectura estaba gris... (todavía no visito a un oftalmólogo).

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