2010-09-13 15 views
0

J'ai ce que je pensais être une question relativement simple, mais je ne peux pas trouver une réponse pour le moment. J'ai une application iPhone qui utilise le GPS sur l'un de ses écrans. Je veux désactiver cet écran en utilisant du code lorsque l'application se charge, alors désactivez-le quand un iPod touch est utilisé. C'est ainsi qu'il peut toujours être utile sur un iPod touch car il y a beaucoup de fonctionnalités qu'un utilisateur d'iPod touch peut utiliser.Turing off fonctionnalité dépend de l'iPhone ou de l'iPod touch

Merci.

+0

Comment votre écran est-il accessible? Utilisez-vous une barre d'onglets? – pgb

+0

ouais j'utilise un UITabBar, il est facile de supprimer un onglet, j'ai juste besoin de la logique de l'appareil qui a été fourni par Aaron. – kohlerfc

Répondre

2

Vous pouvez y arriver avec la réponse d'Aaron, mais ce n'est pas la façon de le faire. Utilisez [CLLocationManager locationServicesEnabled]; pour savoir si vous pouvez déterminer l'emplacement des utilisateurs. C'est beaucoup plus robuste que de prendre des décisions basées sur le modèle de l'appareil.

+0

Merci kubi, comme vous le dites, c'est une solution beaucoup plus robuste. – kohlerfc

0

pour obtenir les informations de l'appareil ..

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDevice_Class/Reference/UIDevice.html

NSString *deviceType = [UIDevice currentDevice].model; 

Je pense que si vous en train de vérifier pour GPS, alors vous aurez besoin pour accéder au CLLocationManager pour voir si elle est activée ou désactivée

+0

Merci, c'était très utile. J'ai effectivement cherché pendant un certain temps, mais ma terminologie ne doit pas être correcte. – kohlerfc

+0

Je ne pense pas que ce soit tout à fait correct, même si cela donne le même résultat. Je pense que vous vérifiez pour le capteur qui détecte si un iPhone est tenu à l'oreille. – Darron

+0

@Darron Je crois que vous avez raison, cette information devrait provenir du CLLocationManager –