Ce didacticiel explique comment accéder aux informations clés sur le périphérique iOS et l'utilisateur, telles que le modèle de périphérique, le numéro de version iOS, la langue sélectionnée par l'utilisateur, etc. Ces informations peuvent être utiles pour diagnostiquer des problèmes d'application ou fournir des expériences utilisateur personnalisées au sein de votre application..
Alors, pourquoi voulez-vous accéder aux données de l'appareil?
Les utilisateurs d'applications envoient souvent des commentaires aux développeurs par courrier électronique ou pour obtenir de l'aide s'ils rencontrent un problème. Il peut être utile d'obtenir plus d'informations sur le périphérique et l'environnement de l'utilisateur sans avoir à leur demander. Par exemple, si votre application nécessite une connexion Internet et qu'un utilisateur disposant d'un iPod touch vous envoie un e-mail indiquant que l'application ne fonctionne pas correctement lors d'une randonnée, vous pouvez rapidement en déduire que cela est probable car l'utilisateur n'a pas accès à Internet. En outre, connaître la version iOS, la version de l'application, ainsi que le pays et la langue de l'utilisateur, vous permet de mieux comprendre l'utilisateur, son appareil et ce qui peut contribuer au problème rencontré par l'utilisateur..
Outre le scénario de suivi des bogues et des problèmes présenté ci-dessus, l'accès aux informations d'UIDevice ou de NSLocale peut également s'avérer utile pour personnaliser votre interface d'application ou votre comportement..
UIDevice
ClasseVous pouvez reconnaître le UIDevice
classe de rencontres avec l'orientation de l'appareil, mais UIDevice
offre une variété de propriétés, méthodes et notifications permettant de mieux comprendre un périphérique. De suivre les niveaux de batterie à déterminer la proximité de l'appareil au visage de l'utilisateur, le but de UIDevice
est de fournir des données sur le périphérique d'un utilisateur. le UIDevice
class fournit également des propriétés accessibles relatives à l'identification des spécificités d'un périphérique, telles que le modèle et la version iOS. Vous verrez certaines de ces propriétés en action à mesure que nous entrons dans le didacticiel..
NSLocale
Classele NSLocale
class aide votre application à se conformer aux conventions culturelles et linguistiques de la région d'un utilisateur. En fournissant les moyens d'ajuster le formatage pour des éléments tels que les symboles monétaires, les séparateurs décimaux, l'heure ou la date, une application fonctionnera comme prévu par l'utilisateur. en outre, NSLocale
peut être utilisé pour déterminer les paramètres régionaux définis pour un utilisateur, une information utile lorsqu'un utilisateur vous contacte par e-mail.
Commençons par obtenir le modèle de l'appareil (iPhone, iPod touch ou iPad) et la version iOS. Le code suivant fournit des informations spécifiques au périphérique à partir de UIDevice
:
UIDevice * currentDevice = [UIDevice currentDevice]; NSString * modèle = [modèle actuel]; NSString * systemVersion = [currentDevice systemVersion];
En première ligne, UIDevice
renvoie une instance du périphérique dans son état actuel. De là, nous accédons aux propriétés du modèle et de la version du système pour obtenir le modèle et la version du système de l'appareil..
Ensuite, nous récupérons des détails sur les paramètres de langue et de région de l'utilisateur.
NSArray * languageArray = [NSLocale preferredLanguages]; NSString * language = [languageArray objectAtIndex: 0]; NSLocale * locale = [NSLocale currentLocale]; NSString * country = [localeIdentifier locale];
La langue principale de l'utilisateur peut être obtenue en utilisant le NSLocale
méthode langues préférées
, qui renvoie le paramètre de langue actuel de l'utilisateur. Les paramètres régionaux de l'utilisateur, ou le pays / la région, peuvent être obtenus à partir de la valeur renvoyée. NSLocale
objet. La méthode de l'instance localeIdentifier
renvoie un code spécifique qui représente le pays / la région de l'utilisateur.
Enfin, voyons quelle version de l'application est en cours d'exécution.
NSString * appVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey: (NSString *) kCFBundleVersionKey];
Le fichier info.plist de l'application stocke les informations de version actuelle de l'application et, en accédant à la groupe principal
en utilisant le kCFBundleVersionKey
, la version de l'application sera retournée.
Ensuite, nous allons enregistrer les données collectées.
NSString * deviceSpecs = [NSString stringWithFormat: @ "% @ -% @ -% @ -% @ -% @", modèle, systemVersion, langue, pays, appVersion]; NSLog (@ "Device Specs ->% @", deviceSpecs);
Dans cet exemple, chaque information est conditionnée dans une chaîne à afficher dans la console. En pratique, vous souhaiterez peut-être l'afficher dans l'objet ou le corps d'un e-mail de feedback..
Lorsque vous correspondez avec des utilisateurs d'applications, il est préférable d'en savoir plus sur l'appareil si vous devez proposer des solutions. Les utilisateurs ont souvent de la difficulté à articuler le scénario avec lequel ils ont des problèmes. Si vous en savez plus sur leur appareil, vous serez mieux en mesure de les aider à résoudre leur problème, en fournissant au final un meilleur service et en générant des utilisateurs plus satisfaits. L'accès aux données de l'appareil est également utile pour créer des interactions personnalisées au sein de votre application. Questions ou commentaires? Laissez-les dans la section commentaires ci-dessous ou envoyez-moi un message sur Twitter @aaron_crabtree.