2010-09-17 27 views
20

Quiero ofrecer asistencia telefónica en mi aplicación con solo presionar un botón para usuarios de iPhone, y mostrar un número de teléfono para usuarios de iPad/iPod Touch. En lugar de detectar qué dispositivo tiene el usuario, ¿hay una mejor manera de consultar el hardware para ver si tiene capacidades de telefonía? Esto continuaría funcionando si el iPad 3G se abre un día para llamadas de voz.¿Cómo puedo probar si el dispositivo IOS tiene capacidades telefónicas?

Soy consciente de cómo limitar una aplicación a los dispositivos a través de la clave UIRequiredDeviceCapabilities, pero no estoy buscando restringir la plataforma, solo detectar capacidades.

Respuesta

66

Comprobar si la aplicación puede abrir tel url:

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:+11111"]]) 
    // device has phone capabilities 
+0

Gracias - esto parece ser exactamente lo que estoy buscando (revisión menor a [NSURL URLWithString: @ "tel: 11 111"]). Hasta ahora, solo he probado en el iPhone, pero el simulador informa que no puede realizar llamadas mientras que el dispositivo real afirma que sí. ¡Muchas gracias a ambos encuestados! – Purpletoucan

+0

sí, lo siento, escribí una serie de errores – Vladimir

+0

Esta solución no funcionará desde una extensión de iOS. – iOSAddicted

Cuestiones relacionadas