Detectando programáticamente si una aplicación está instalada en el iPhone

Estoy en esta situación en la que 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 de iPhone. Para hacer esto, necesito detectar si una aplicación (con una URL personalizada conocida) ha sido instalada en el dispositivo. ¿Cómo puedo hacer esto? Gracias por adelantado.

ACTUALIZADO el 8 de enero de 2014 – 3 cosas que puedes hacer

De hecho, tuve que hacer esto para un cliente nuevamente. Querían que los usuarios pudieran abrir su segunda aplicación desde la aplicación principal si se hubiera instalado.

Este es mi hallazgo. Use el método canOpenURL para verificar si una aplicación está instalada y / y luego use el método openURL para

  1. Abra la aplicación instalada en el dispositivo iOS
  2. Lleve al usuario a la tienda de aplicaciones indicándoles directamente la aplicación / su lista de aplicaciones para desarrolladores
  3. Llévelos a un sitio web en su lugar

Todas las muestras 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"]]; } } 

Elige una opción, te he echado a perder con la opción. Elija uno que se adapte a sus necesidades. En mi caso, tuve que usar las tres opciones en diferentes áreas del progtwig.

Si el esquema de URL para su aplicación es “myapp:”, entonces

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

(Requiere iOS 3.0)

Para verificar la aplicación es instalar en el dispositivo o no

1) En info.plist agregue LSApplicationQueriesSchemes como a continuación ejemplo

enter image description here

2) y en los tipos de URL

enter image description here

3) Ahora para verificar la aplicació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"]]; } } 

Puede agregar una metaetiqueta simple en el encabezado de cualquier página que necesite esta aplicación: sniffing.

Para mas información, ve aquí:

http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html

Intereting Posts