Saltar al contenido

La imagen de disco y la instalación

Cómo se entrega una aplicación de macOS: qué ve el usuario al abrirla, qué convenciones espera, y el fallo de instalación que produce las incidencias más raras.

La convención

Lo que un usuario de macOS espera al abrir la imagen:

  • El paquete de la aplicación, a la izquierda.
  • Un acceso a la carpeta de aplicaciones, a la derecha.
  • Y una flecha o un fondo que sugiere arrastrar de una a otra.

Nada más. Ni instrucciones largas, ni ficheros extra, ni un léeme. La convención es tan conocida que explicarla sobra, y añadir cosas la ensucia.

Tauri produce esto solo, y permite personalizar el fondo y las posiciones. Merece hacerlo bien: es lo primero que el usuario ve de tu producto.

El fallo de ejecutar sin instalar

Y es más frecuente de lo que parece, porque el gesto de hacer doble clic sobre lo que se ve es completamente razonable.

Detectarlo y avisar

La solución es de tu código, y es sencilla:

Rust
// al arrancar: ¿estamos corriendo desde donde deberíamos?fn corriendo_desde_imagen(app: &AppHandle) -> bool {    app.path().resource_dir()        .map(|p| p.starts_with("/Volumes/"))        .unwrap_or(false)}

Y si es así, avisar con claridad: «para poder actualizarse, esta aplicación tiene que estar en la carpeta de Aplicaciones. Arrástrala ahí y vuelve a abrirla.»

Y ofrecer hacerlo por él es todavía mejor: copiar el paquete a la carpeta de aplicaciones, cerrar y abrir la copia. Es lo que hacen algunas aplicaciones cuidadas y resuelve el problema sin que el usuario tenga que entender nada.

Imagen o instalador

Una decisión menor con dos criterios:

  • La imagen es la convención y lo que un usuario de macOS espera. Es la opción por omisión y casi siempre la correcta.
  • Un instalador tiene sentido si hay que hacer algo más que copiar: instalar un componente del sistema, registrar un servicio, pedir privilegios. Y esas son cosas que conviene evitar —nivel 36.5— así que el instalador suele ser una señal de que la aplicación pide más de lo que debería.

Y una nota: un instalador de macOS necesita su propio tipo de certificado. Nivel 60.1.