Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

216
Vistas
Los enlaces universales de la aplicación cerrada no funcionan

Tengo mi aplicación configurada para manejar enlaces universales. Manejamos la recuperación de la URL y la navegación dada la URL dentro de esta función:

 func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { guard NSUserActivityTypeBrowsingWeb == userActivity.activityType, let url = userActivity.webpageURL else { return false } // Do navigation to correct page based on URL return true }

Esto funciona perfectamente para nosotros cuando nuestra aplicación se estaba ejecutando anteriormente en segundo plano y se toca un enlace universal.

Sin embargo, cuando elimino la aplicación por completo y hago clic en un enlace universal, esta función no parece estar ejecutándose y, por lo tanto, no maneja el enlace universal en absoluto, solo lleva al usuario a la pestaña de inicio.

Intenté obtener la URL en la application(didFinishLaunchingWithOptions:) y application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) pero ninguno de ellos parece ser llamado también .

¿Alguien tiene alguna idea sobre esto?

¡Gracias!

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Swift 5 IOS 14 Cuando la aplicación finaliza su uso

 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Get URL components from the incoming user activity. guard let userActivity = connectionOptions.userActivities.first, userActivity.activityType == NSUserActivityTypeBrowsingWeb, let incomingURL = userActivity.webpageURL else { return } DispatchQueue.main.asyncAfter(deadline: .now() + 2) { LinkHandler.sharedInstance.handleLink(url: incomingURL) } guard let _ = (scene as? UIWindowScene) else { return } }
over 4 years ago · Santiago Trujillo Denunciar

0

Puedes registrarte

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)

Puede obtener la URL consultando connectionOptions.userActivities (es un Set<NSUserActivity> ).

Obtenga la URL de webpageURL Este es el ejemplo:

 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { for userActivity in connectionOptions.userActivities where userActivity.webpageURL != nil { // call your universal link handler here } }

Espero que pueda ayudarte a solucionar tu problema.

over 4 years ago · Santiago Trujillo Denunciar

0

En application(didFinishLaunchingWithOptions:) URL está dentro de una opción. Por favor, pruébalo de nuevo.

Apple docs: launchOptions Un diccionario que indica el motivo por el que se inició la aplicación (si corresponde). El contenido de este diccionario puede estar vacío en situaciones en las que el usuario inició la aplicación directamente. Para obtener información sobre las posibles claves en este diccionario y cómo manejarlas, consulte Claves de opciones de lanzamiento.

https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622921-application

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda