Cómo depurar enlaces universales que no abren tu aplicación

Una guía completa para solucionar los problemas por los que los enlaces universales podrían no abrirse en tu aplicación iOS, que abarca problemas comunes con archivos AASA, configuración de aplicaciones y depuración específica para cada dispositivo.

Intermediate

La depuración de enlaces universales que no abren la aplicación requiere un enfoque sistemático, comprobando tanto la configuración de la aplicación como la configuración del servidor web. A continuación se ofrece una guía completa:

1. Verificar la configuración básica y el entorno de prueba

  • Dispositivo real, no simulador: los enlaces universales suelen comportarse de forma diferente en los simuladores. Pruébalos siempre en un dispositivo iOS físico.
  • Elimina y vuelve a instalar la aplicación: después de realizar cambios, elimina siempre la aplicación de tu dispositivo y vuelve a instalarla. Esto obliga a iOS a volver a descargar el archivo apple-app-site-association (AASA).
  • Prueba desde fuentes adecuadas: los enlaces universales no funcionarán si los pegas directamente en la barra de direcciones URL del navegador. Prueba tocando enlaces de otras aplicaciones como Notas, Mail, iMessage o Slack. Es posible que algunas aplicaciones como Instagram, Twitter o Facebook no admitan enlaces universales directamente.

2. Comprueba el archivo apple-app-site-association (AASA)

El archivo AASA es crucial para los enlaces universales. iOS descarga este archivo desde tu servidor web para determinar qué enlaces puede gestionar tu aplicación.

  • Ubicación del archivo: El archivo AASA debe estar alojado en https://yourdomain.com/apple-app-site-association o https://yourdomain.com/.well-known/apple-app-site-association.
  • HTTPS y sin redireccionamientos: El archivo debe servirse a través de HTTPS y sin redireccionamientos 3xx.
  • Encabezado Content-Type: Asegúrate de que el servidor devuelve el encabezado Content-Type correcto para el archivo AASA.
  • Validez JSON: El archivo AASA debe ser un JSON válido y cumplir con el esquema especificado. Puedes utilizar validadores en línea (como el validador AASA de Branch.io) para comprobar su corrección.
  • appID y rutas: Verifique que el appID de su archivo AASA coincida con el ID de equipo y el identificador de paquete de su aplicación (por ejemplo, ABC123DEF.com.example.app). Además, asegúrate de que la matriz paths especifica correctamente las rutas URL que debe gestionar tu aplicación.
  • Registros del servidor: Comprueba los registros HTTPS de tu servidor web para confirmar que iOS descarga el archivo AASA cuando se instala tu aplicación.

3. Configuración de la aplicación en Xcode

  • Derecho de dominios asociados: En su proyecto Xcode, vaya a la pestaña «Signing & Capabilities» (Firma y capacidades) y asegúrese de que «Associated Domains» (Dominios asociados) esté habilitado. Añada su dominio en el formato applinks:yourdomain.com.
  • Depuración frente a lanzamiento: Si estás depurando en desarrollo, asegúrate de que estás editando la versión de depuración de «Signing & Capabilities» (Firma y capacidades). Para omitir el CDN de Apple Universal Links en desarrollo, configura tus dominios de depuración como applinks:tudominio.com?mode=developer.
  • Delegado de la aplicación/Delegado de la escena: Verifique que el AppDelegate (o SceneDelegate para iOS 13+) de su aplicación implemente correctamente el método application(_:continueUserActivity:restorationHandler:) para gestionar los objetos NSUserActivity entrantes para los enlaces universales.

4. Depuración específica del dispositivo

  • Registros de la consola: conecta tu dispositivo a Xcode y abre la consola (Ventana > Dispositivos y simuladores > [Tu dispositivo] > Abrir consola). Filtra los registros por «swcd» (Shared Web Credentials Daemon) para ver si el registro de tu enlace universal ha funcionado o ha fallado.
  • Ajustes de desarrollador (iOS 13+):
    • Activa el «Modo desarrollador» en Ajustes > Privacidad y seguridad > Modo desarrollador.
    • En Ajustes > Desarrollador > Enlaces universales, habilite «Desarrollo de dominios asociados».
    • Utilice la herramienta «Diagnóstico» en la sección Enlaces universales para introducir la URL de su enlace universal y comprobar si es válida para la aplicación instalada.
  • Reinicia el dispositivo: Reiniciar el dispositivo puede borrar las cachés de enlaces universales de iOS y resolver problemas.
  • Prueba en diferentes dispositivos/versiones de iOS: Esto ayuda a descartar problemas de configuración específicos del dispositivo.
  • Vuelve a habilitar los enlaces universales: Si un enlace universal se abrió anteriormente en Safari, es posible que se haya deshabilitado para ese enlace específico. Mantén pulsado el enlace en una aplicación como Notas y selecciona «Abrir en [nombre de tu aplicación]» para volver a habilitarlo. Si ves un banner de aplicación inteligente en Safari, al pulsar «ABRIR» en el banner también se pueden volver a habilitar los enlaces universales.

5. Solución avanzada de problemas

  • sysdiagnose Registros: Para obtener información más detallada, puede acceder a los registros sysdiagnose en su dispositivo iOS (Ajustes > Privacidad y seguridad > Análisis y mejoras > Datos analíticos). Estos registros pueden proporcionar información detallada sobre cómo iOS procesa sus enlaces universales.
  • Herramientas de terceros: Utilice herramientas como la herramienta de validación de la API de búsqueda de aplicaciones de Apple u otros validadores de terceros para verificar la configuración de su sitio web.

Si sigue estos pasos de forma sistemática, podrá identificar y resolver la mayoría de los problemas que impiden que sus enlaces universales abran su aplicación.