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 es no instalado en el dispositivo) en una aplicación para 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.Detectando programáticamente si hay una aplicación instalada en el iPhone
Respuesta
8 de enero de 2014 ACTUALIZADA - 3 cosas que puede hacer
que en realidad tenía que hacer esto para un cliente nuevo. Querían que los usuarios pudieran abrir su segunda aplicación desde la aplicación principal si se hubiera instalado.
Este 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
- Abra la aplicación instalada en el dispositivo iOS
- llevar al usuario a la tienda de aplicaciones que apunta directamente a la aplicación/tu lista de desarrollador de aplicaciones
- 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"]];
}
}
Elija una opción, solo le 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 programa.
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.)
¡Mucho más simple! ¡Gracias! – bkbeachlabs
@bkbeachlabs mucho más simple en comparación con qué? – Pavan
Debo haberme referido a una edición anterior en otra respuesta. Hace mucho tiempo, ahora, ¡así que no recuerdo! – bkbeachlabs
Es posible añadir una etiqueta meta simple en la cabeza de cualquier página que necesita esta aplicación-sniffing.
Para obtener más información, vaya a:
Quizás, resumir el contenido de su URL en su publicación ayude al usuario más que simplemente publicar un enlace. Aparte de eso, buen trabajo en su primera publicación :-). –
Para comprobar aplicación es instalar en el dispositivo o no
1) En info.plist añadir LSApplicationQueriesSchemes de la siguiente ejemplo
2) y en los tipos de URL
3) Ahora para comprobar 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"]];
}
}
- 1. ¿Cómo verificar programáticamente si hay una aplicación instalada?
- 2. iPhone: detectando si hay una UIAlert/UIActionSheet abierta
- 3. Detectando si está instalada una base de datos Oracle
- 4. Pruebe si hay una fuente instalada
- 5. iPhone - Detectando si el dispositivo tiene una cámara frontal
- 6. Navegador iPhone: verificando si la aplicación iPhone está instalada desde el navegador
- 7. Cómo verificar la aplicación instalada en el dispositivo iPhone
- 8. Detectar desde el navegador si está instalada una aplicación específica
- 9. Inicie la aplicación instalada en el iPhone atado
- 10. Detectar desde el navegador si hay una aplicación específica instalada en Android
- 11. Detectando si los auriculares están enchufados en el iPhone
- 12. detectando un toque largo en el iPhone
- 13. abertura de aplicación para el iPhone programáticamente
- 14. WIX: ¿Cómo detectar si está instalada una aplicación de terceros?
- 15. Detectando el lanzamiento de una aplicación
- 16. Muestra programáticamente el teclado en la aplicación para iPhone
- 17. ¿Detectando soplar en el micrófono de iPhone?
- 18. ¿Detecta una aplicación instalada o no?
- 19. Una aplicación instalada, muestra dos entradas en el iniciador
- 20. iPhone: Detectando Tap en MKMapView
- 21. iPhone: abre una url programáticamente
- 22. ¿Detecta qué versión de una aplicación está instalada en iOS?
- 23. Detectando el tipo de interrupción de iPhone
- 24. Encuentre programáticamente la versión instalada de pywin32
- 25. Obtener el APK de la aplicación instalada
- 26. ¿Cómo puedo verificar mediante programación si hay una característica del servidor instalada en Windows Server 2008?
- 27. iPhone - Detectando la disponibilidad de la tarjeta SIM
- 28. iPhone: redirigir a la tienda de aplicaciones en el safari móvil si la aplicación no está instalada
- 29. Detectando si hay claves disponibles en el teclado en pantalla del dispositivo móvil
- 30. Detectando si el monitor está apagado
El plist no se encuentra en iOS 4. ¿Sabe usted dónde se ha sido movido ¿a? – samwize
Hola, lo siento por la respuesta tardía. No hay problema. El archivo se encuentra en la carpeta '/ private/var/mobile/Library/Caches /'. Espero que ayude. Cheers – Pavan
Esa es la ruta en la caja de conmutadores 2. Pero el archivo no se encuentra (en iOS 4.3). – samwize