Pregunta

Yo estoy en esta situación donde tengo que mostrar un botón que dice "Abrir myApp" (si myApp está instalado en el dispositivo) o dice "Descargar myApp" (si myApp no está instalado en el dispositivo) en una aplicación para el iphone.Para ello, necesito para detectar si una aplicación (con una URL personalizada) ha sido instalado en el dispositivo.¿Cómo puedo hacer esto?Gracias de antemano.

¿Fue útil?

Solución

ACTUALIZADO octavo de enero de 2014 - 3 cosas que puede hacer

En realidad tenía que hacer esto para un cliente nuevo. Ellos querían que los usuarios puedan abrir su segunda aplicación desde la aplicación principal si se hubiera instalado.

Esta es mi hallazgo. Utilice el método canOpenURL para comprobar si una aplicación está instalada o / y luego usar el método openURL a

  1. Abra la aplicación instalada en el dispositivo IOS
  2. llevar al usuario a la tienda de aplicaciones que apunta directamente a la aplicación / lista de aplicaciones de desarrolladores
  3. llevarlos a un sitio web en lugar

Todos los ejemplos de código disponibles para cada escenario

//Find out if the application has been installed on the iOS device
- (BOOL)isMyAppInstalled { 
    return [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"nameOfMyApp:"]]; 
} 

- (IBAction)openOrDownloadApp { 
    //This will return true if the app is installed on the iOS device
    if ([self myAppIsInstalled]){
        //Opens the application
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"nameOfMyApp:"]]; 
    } 
    else { //App is not installed so do one of following:

        //1. Take the user to the apple store so they can download the app
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/nameOfMyApp"]]; 

        //OR

        //2. Take the user to a list of applications from a developer
        //or company exclude all punctuation and space characters. 
        //for example 'Pavan's Apps'
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/PavansApps"]];

        //OR

        //3. Take your users to a website instead, with maybe instructions/information
         [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.pavan.com/WhyTheHellDidTheAppNotOpen_what_now.html"]];

    } 
}

Escoja una opción, que acabo echado a perder con la elección. Elegir uno que se adapte a sus necesidades. En mi caso, tuve que usar las tres opciones en diferentes áreas del programa.

Otros consejos

Si el esquema de URL para su aplicación es "miaplicacion:" y, a continuación

BOOL myAppInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"myapp:"]];

(Requiere IOS 3.0.)

Para comprobar aplicación es instalar en el dispositivo o no

1) En LSApplicationQueriesSchemes add Info.plist como abajo ejemplo

 introducir descripción de la imagen aquí

2) y en los tipos de URL

 introducir descripción de la imagen aquí

3) Ahora, para aplicaciones de verificación es instalar o no

- (IBAction)openAppPressed:(UIButton *)sender {
    NSString *urlString = @"XYZAPP://";
    NSURL *url = [NSURL URLWithString:urlString];

    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    }
    else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itunes link for download app"]];
    }
}

Se puede añadir una etiqueta meta simple en la cabeza de cualquier página que necesita esta aplicación rastreadores.

Para obtener más información, entra aquí:

http://developer.apple .com / biblioteca / ios / # documentación / AppleApplications / Referencia / SafariWebContent / PromotingAppswithAppBanners / PromotingAppswithAppBanners.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top