2010-09-17 3 views
20

Je souhaite offrir une assistance téléphonique dans mon application en appuyant sur un bouton pour les utilisateurs d'iPhone et afficher un numéro de téléphone pour les utilisateurs d'iPad/iPod Touch. Plutôt que de détecter de quel périphérique dispose l'utilisateur, existe-t-il un meilleur moyen d'interroger le matériel pour voir s'il possède des capacités de téléphonie? Cela continuerait à fonctionner si l'iPad 3G s'ouvrait un jour pour les appels vocaux.Comment tester si le périphérique IOS dispose de capacités téléphoniques?

Je suis conscient de la façon de limiter une application aux périphériques via la clé UIRequiredDeviceCapabilities, mais je ne cherche pas à restreindre la plate-forme, mais à détecter les capacités.

Répondre

66

Vérifiez si l'application peut ouvrir tel url:

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

Merci - ce qui semble être exactement ce que je suis à la recherche (révision mineure à [NSURL URLWithString: @ "tel: 11111"]). J'ai seulement testé sur iPhone jusqu'à présent, mais le simulateur signale qu'il ne peut pas faire d'appels alors que le vrai appareil prétend qu'il peut! Merci beaucoup aux deux répondants! – Purpletoucan

+0

yes, sorry - mistyped a string – Vladimir

+0

Cette solution ne fonctionnera pas à partir d'une extension iOS. – iOSAddicted

Questions connexes