Inicie la aplicación utilizando la URL, pero OpenUrl no se llama

He implementado un esquema de URL y lo uso para pasar datos a mi aplicación llamando al método. El código completo se muestra a continuación.

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    // Check the calling application Bundle ID
    if ([[url scheme] isEqualToString:@"yuvitime"])
    {
        NSLog(@"URL scheme:%@", [url scheme]);
        NSString * yuvitimeRequestValue = [url query];
        NSDictionary * userInfor = [[NSDictionary alloc]initWithObjectsAndKeys:yuvitimeRequestValue, @"YuvitimeRequest", nil];
        NSNotificationCenter * notificationCentre = [NSNotificationCenter defaultCenter];
        [notificationCentre postNotificationName:@"URLSCHEMEACTIVATEDNOTIFICATION" object:self userInfo:userInfor];

        return YES;
    }
    else
        return NO;
}

Si mi aplicación está en segundo plano, todo funciona bien. Cuando hace clic en una URL, la aplicación vuelve a primer plano y la URL se maneja como codificada en la función anterior.

Sin embargo, si la aplicación finaliza (la aplicación aún no se ha iniciado), al hacer clic en la URL, solo se inicia la aplicación sin llamar a la función de manejo que se muestra arriba.

Después de buscar, el mejor resultado que consigo es este

aplicación: WillFinishLaunchingWithOptions: Cuando se le pide que abra una URL, el resultado de retorno de este método se combina con el resultado de retorno delapplication:didFinishLaunchingWithOptions: método para determinar si se debe manejar una URL. Si cualquiera de los métodos devuelve NO, el sistema no llama alapplication:openURL:options: método Si no implementa uno de los métodos, solo se considera el valor de retorno del método implementado.

- aplicación: didFinishLaunchingWithOptions: Este método representa su última oportunidad para procesar cualquier clave en el diccionario launchOptions. Si no evaluó las claves en suapplication:willFinishLaunchingWithOptions: método, debe mirarlos en este método y proporcionar una respuesta adecuada. Los objetos que no son delegados de la aplicación pueden acceder a los mismos valores del diccionario launchOptions observando la notificación denominadaUIApplicationDidFinishLaunchingNotification y acceder al diccionario userInfo de la notificación. Esa notificación se envía poco después de que este método regrese. El resultado de retorno de este método se combina con el resultado de retorno deapplication:willFinishLaunchingWithOptions: método para determinar si se debe manejar una URL. Si cualquiera de los métodos devuelve NO, la URL no se maneja. Si no implementa uno de los métodos, solo se considera el valor de retorno del método implementado.

A pesar de la explicación, todavía no sé cómo hacerlo y no pude encontrar nada más concreto en línea.

Gracias

Saludos

Respuestas a la pregunta(5)

Su respuesta a la pregunta