• 20 heures
  • {0} Facile|{1} Moyenne|{2} Difficile

Ce cours est visible gratuitement en ligne.

Ce cours existe en livre papier.

J'ai tout compris !

Mis à jour le 21/06/2013

Gestion des matériels et des identités numériques

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Ce chapitre ne s'intéresse pas à la publication des applications ; c'est encore trop tôt. Par contre, vous y apprendrez à tester vos applications, dans le simulateur (Ce chapitre revient sur des choses déjà vues précédemment ; c'est une piqûre de rappel.) et sur device. Vous verrez également comment mettre à jour la version du système iOS sur un device et comment effectuer des captures d'écran.

Tous ces points sont autant d'étapes nécessaires avant la publication.

Mais assez palabré, commençons sans plus attendre !

Déboguer une application

Il est très important de tester (on dit aussi « déboguer ») vos applications afin de vous assurer que vous avez envisagé toutes les situations. Par expérience, je peux vous assurer que les utilisateurs font souvent des manipulations « étranges » et parfois totalement illogiques. Au-delà de ça, vous n'êtes pas à l'abri d'une erreur dans votre code. Il est donc capital de tester et de retester vos applications avant de les distribuer.

Pour cela, vous utiliserez le volet de débogage de Xcode. Grâce à lui, vous pourrez contrôler la valeur des variables utilisées dans l'application pendant son exécution.
Pour afficher le volet de débogage, il suffit de cliquer sur l'icône Hide or show the Debug area, dans la barre d'outils de Xcode, comme le montre la figure suivante.

Affichage du volet de débogage

Affichage d'informations depuis le code

Une des façons les plus simples d'afficher des éléments textuels dans le volet de débogage consiste à utiliser la fonction NSLog() :

NSLog(@"texte à afficher");

Si vous voulez afficher le contenu d'une variable, vous devez préciser son type dans les guillemets, puis indiquer la variable à afficher à la suite du deuxième guillemet. Par exemple, pour afficher la valeur d'une variable de type int, vous pouvez écrire quelque chose comme ceci :

NSLog(@"Le résultat est : %i", resultat);

Ou encore, pour afficher la valeur d'une variable de type NSString, vous pouvez écrire quelque chose comme ça :

NSLog(@"Le résultat est : %@", @"un texte quelconque");

Le langage Objective-C peut utiliser de nombreux types de variables. Nous les avons résumés dans le tableau ci-après.

Type

Signification

%@

NSString

%d, %i

Entier signé

%u

Entier non signé

%f

Float/double

%x, %X

Entier hexadécimal

%o

Entier octal

%p

Pointeur

%e

Float/double en notation scientifique

%s

String C (bytes)

%S

String C (unichar)

%c

Caractère

%C

Unichar

%lld

Long long

%llu

Long long non signé

%Lf

Long double

Le texte à afficher peut contenir un ou plusieurs caractères de mise en forme, tels qu'un passage à la ligne ou une tabulation. Ces caractères sont appelés « séquences d'échappement ». Je les ai résumées dans le tableau suivant.

Séquence

Effet

\n

Ligne suivante

\r

Paragraphe suivant

\t

Tabulation horizontale

\v

Tabulation verticale

\\

Antislash

\"

Guillemet dans une chaîne

\'

Apostrophe dans une chaîne

Par exemple, cette instruction :

NSLog(@"Ce texte est affiché \n sur deux lignes");

Produit l'affichage suivant dans le volet de débogage :

[...] test[935:207] Ce texte est affiché
 sur deux lignes

Affichage d'informations depuis le volet de débogage

Il est également possible d'insérer un point d'arrêt dans le code. Cliquez dans la marge, à gauche de la ligne de code sur laquelle vous voulez arrêter l'exécution. Une marque bleue est affichée, comme sur la figure suivante.

La marque bleue dans la marge indique un point d'arrêt dans le code

Lorsque vous lancez l'application, l'exécution est arrêtée sur la ligne ainsi marquée. Pour avoir des informations sur un des objets manipulés dans l'application, tapez "po" suivi du nom de l'objet dans la console.

Souscrire au programme de développement iOS

Pourquoi devrais-je souscrire au programme de développement iOS ?

Eh bien, sachez que c'est une étape nécessaire pour :

  1. tester vos applications sur device (et non dans le simulateur iOS) ;

  2. distribuer vos applications.

Une mauvaise nouvelle : le programme de développement n'est pas gratuit. De plus, Apple en propose trois déclinaisons et vous devrez choisir celle qui s'adapte à vos besoins.

Vous pouvez ainsi opter pour :

  • la version standard individuelle : 79 euros par an ;

  • la version standard entreprise : 79 euros par an ;

  • la version grande entreprise : 199 euros par an.

La version standard individuelle

Elle fait partie du programme iOS Developer Program. Elle s'adresse aux développeurs individuels. Par son intermédiaire, ils peuvent créer des applications iOS gratuites ou commerciales, les tester sur un ou plusieurs devices (jusqu'à 100), puis les distribuer sur l'App Store sous leur propre nom.

La version standard entreprise

Elle fait également partie du programme iOS Developer Program, mais elle permet de gérer une équipe de développeurs. Par son intermédiaire, une entreprise peut créer des applications iOS gratuites ou commerciales, les tester sur un ou plusieurs devices (jusqu'à 100), puis les distribuer sur l'App Store sous le nom de l'entreprise.

La version grande entreprise

Elle fait partie du programme iOS Developer Enterprise Program. Elle est destinée aux entreprises de plus de 500 salariés. La distribution des applications se fait à travers une sorte d'App Store d'entreprise, et non via l'App Store d'Apple. Chaque application peut être déployée sur un nombre illimité de devices.

Pour souscrire à la version standard individuelle ou standard entreprise, rendez-vous sur la page iOS Developer Program, cliquez sur Enroll Now et suivez les étapes indiquées sur l'écran.

Pour souscrire à la version grande entreprise, rendez-vous sur la page iOS Developer Enterprise Program, cliquez sur Apply Now et suivez les étapes indiquées sur l'écran.

Souscription à la version standard individuelle

À titre d'exemple, et parce que ce cas correspond à la majorité d'entre vous, nous allons examiner le processus de souscription à la version standard individuelle, c'est-à-dire au programme dédié aux développeurs individuels.

Rendez-vous sur la page iOS Developer Program et cliquez sur Enroll Now (figure suivante).

Rendez-vous sur la page iOS Developer Program et cliquez sur Enroll Now

Un message vous avertit que vous devez disposer d'un Mac équipé d'un processeur Intel et utiliser le système d'exploitation Mac OS X Snow Leopard ou ultérieur. Cliquez sur Continue pour poursuivre votre inscription.

Vous devez maintenant vous situer dans l'univers Apple. Cochez la case correspondant à votre cas (figure suivante) :

  • « I need to create… » si vous n'avez pas encore un identifiant Apple ID ;

  • « I have an Apple ID… » si vous avez un Apple ID mais que vous n'avez pas encore rejoint la communauté des développeurs Apple ;

  • « I'm registered as… » si vous avez rejoint la communauté des développeurs Apple mais pas encore le iOS Developer Program ;

  • « I'm currently enrolled… » si vous avez déjà adhéré au Mac Developer Program et que vous voulez y ajouter le iOS Developer Program.

Cochez la case correspondant à votre cas

Si vous avez suivi mes indications, vous devez avoir rejoint la communauté des développeurs Apple et vous êtes sur le point d'adhérer au iOS Developer Program. À ce titre, sélectionnez la troisième case et cliquez sur Continue.

Comme nous l'avons dit précédemment, le iOS Developer Program peut s'appliquer à un développeur individuel ou à une entreprise. Dans la page suivante, vous devez choisir l'une ou l'autre de ces deux options.

Comme vous pouvez le voir, le nom affiché en face des applications dans l'App Store sera différent selon que vous vous enregistriez en tant que développeur individuel ou en tant qu'entreprise. Dans le premier cas, votre nom sera associé aux applications postées sur l'App Store. Dans le deuxième cas, c'est le nom de votre société qui leur sera associé.

Cliquez sur Individual et entrez vos identifiants Apple.

Dans la prochaine étape, vous devez entrer vos coordonnées, telles qu'elles apparaissent sur votre carte de crédit. Complétez le formulaire pré-rempli et cliquez sur Continue.

Vous devez alors choisir le programme auquel vous voulez adhérer. Cochez la case iOS Developer Program (figure suivante) et cliquez sur Continue.

Vous devez choisir le programme auquel vous voulez adhérer

L'étape suivante résume les informations que vous avez entrées. Cette vérification effectuée, cliquez sur Continue.

L'étape suivante décrit les termes du contrat de licence entre vous et Apple. Vérifiez que vous êtes en accord avec tous ces termes, cochez la case By checking this box… et validez en cliquant sur I Agree. L'écran suivant vous invite à ajouter le programme dans votre caddie. Cliquez sur Add to Cart. Cliquez enfin sur Passer la commande (figure suivante).

« Passer la commande  »

Validez en cliquant sur Continuer à trois reprises. Entrez les informations relatives à votre carte de paiement et validez. Après quelques instants, une page vous indique que votre commande est en cours de traitement. Il ne vous reste plus qu'à attendre sa validation par Apple, ce qui devrait se faire dans les 24 prochaines heures.

Une fois votre souscription au programme de développement validée par Apple, vous recevez deux e-mails.

Le premier vous remercie d'avoir rejoint le programme de développement iOS et donne accès au portail des développeurs Apple (figure suivante).

Portail des développeurs Apple

Cliquez sur Log in now pour accéder au site dédié aux développeurs. Vous y trouverez :

  • des ressources techniques liées au développement pour devices iOS ;

  • un ensemble de questions/réponses sur la soumission des applications sur l'App Store ;

  • un forum dédié aux développeurs, dans lequel vous pourrez poser vos questions et consulter les questions/réponses des autres développeurs ;

  • un accès au portail d'approvisionnement, pour tester vos applications sur device ;

  • un accès à iTunes Connect, pour soumettre vos applications sur l'App Store ;

  • un accès au support technique Apple.

Le deuxième e-mail donne le lien permettant d'accéder directement à iTunes Connect (figure suivante).

iTunes Connect

En cliquant sur le lien « iTunes Connect », vous pourrez gérer facilement les applications soumises à l'App Store (ventes, contrats, taxes, etc.), comme le montre la figure suivante.

Vous pourrez gérer facilement les applications soumises à l'App Store

Certificats et profils d'approvisionnement

Pour pouvoir tester vos applications sur un ou plusieurs devices, puis les poster sur l'App Store, vous allez devoir créer des certificats et des profils d'approvisionnement. Il y a de grandes chances pour que ces deux termes ne fassent pas partie de votre vocabulaire (du moins en ce qui concerne l'univers iOS). Alors voyons sans plus attendre de quoi il s'agit.

Les certificats sont stockés sur votre Mac. Ils permettent d'identifier :

  • un développeur : certificat de développement ;

  • un compte de développement : certificat de distribution.

Les profils d'approvisionnement sont stockés sur le device. Ils servent de lien entre un ou plusieurs certificats, un identifiant d'application et des périphériques, afin de sécuriser la diffusion d'applications. On distingue :

  • les profils d'approvisionnement de développement, qui permettent d'autoriser un ou plusieurs développeurs à déployer une application sur des devices spécifiques ;

  • les profils d'approvisionnement de déploiement qui permettent de diffuser des applications à plus grande échelle, notamment sur l'App Store, mais également en mode « in-house » à l'intérieur d'une grande entreprise.

Créer un profil d'approvisionnement

Pour tester vos applications sur un device (et non dans le simulateur iOS), vous allez devoir créer un profil d'approvisionnement sur le portail…
Commencez par relier votre device sur un port USB de votre Mac. L'application iTunes démarre automatiquement. Pour l'instant, vous n'en aurez pas besoin. Vous pouvez la fermer ou la replier pour libérer le bureau.

Lancez Xcode en cliquant sur son icône dans le dock. Déroulez le menu Window et cliquez sur Organizer. Cliquez si nécessaire sur l'icône Devices dans la barre d'outils de l'application Organizer et sélectionnez votre device dans le volet droit. Une boîte de dialogue similaire à la figure suivante est affichée.

Une boîte de dialogue s'affiche

Cliquez sur Use for Development.
Connectez-vous sur le portail des développeurs Apple, entrez vos identifiants et cliquez sur iOS Provisioning Portal, puis sur Launch Assistant dans le cadre Get your application on an iOS… (figure suivante).

Cliquez sur Launch Assistant

Cette action lance l'assistant d'approvisionnement. Cliquez sur Continue, choisissez un nom pour identifier votre App ID et cliquez sur Continue (figure suivante).

Choisissez un nom pour identifier votre App ID et cliquez sur Continue

Décrivez votre device et copiez-collez son identifiant depuis la fenêtre Organizer dans la fenêtre de l'assistant, comme indiqué à la figure suivante.

Copiez-collez l'identifiant

Cliquez sur Continue. L'assistant vous demande de lancer l'application Keychain, soit « Trousseau d'accès » en français.

Cliquez sur l'icône Applications dans le dock, puis sur l'icône Utilitaires dans le dossier des applications. Lancez enfin l'application Trousseau d'accès.

Cliquez sur le menu Trousseau d'accès, pointez Assistant de certification et cliquez sur Demander un certificat à une autorité de certificat, comme à la figure suivante.

Demander un certificat à une autorité de certificat

Cette action déclenche l'affichage de la boîte de dialogue Assistant de certification. Assurez-vous que les zones Adresse électronique de l'utilisateur et Nom commun soient correctement remplies. Sélectionnez l'option Enregistrée sur disque et cochez la case Me laisser indiquer les informations sur la bi-clé, comme sur la figure suivante.

Remplissez la boîte de dialogue Assistant de certification

Je veux bien entrer les informations correspondant à la bi-clé, mais j'ai un petit problème : qu'est-ce qu'une bi-clé au juste ?

Les bi-clés sont composées d'une clé publique et d'une clé privée.

  • La clé publique sert à chiffrer des données. Elle n'est pas secrète et peut être librement partagée avec tout le monde.

  • La clé privée est la partie secrète d'une bi-clé. Elle sert à déchiffrer des données. Elle doit rester confidentielle.

Les bi-clés utilisent un programme spécifique pour transformer l'information contenue dans un texte lisible en des données chiffrées, et inversement.
Cliquez sur Continuer et choisissez le dossier dans lequel sera stocké le certificat.

Cliquez sur Enregistrer et choisissez 2048 bits dans la zone de texte Dimension de la clé et RSA dans la zone de texte Algorithme (figure suivante).

Choisissez une dimension de clé et un algorithme

Qu'est-ce que la taille d'une clé ? Et pourquoi avoir choisi 2048 bits ?

La taille d'une clé est mesurée en « bits », ou « informations binaires ». Plus une clé est grande, plus il est difficile de la décrypter. Une taille avoisinant les 2000 bits est appropriée pour une clé que vous comptez utiliser pendant quelques années. Si vous désirez utiliser votre clé plus longtemps, vous pouvez utiliser une clé de plus grande taille. Par exemple de 3000 ou 4000 bits.

Cliquez sur Continuer. Après un bref instant, l'Assistant vous informe que le certificat a été enregistré sur votre disque dur. Vous pouvez cliquer sur Terminer pour fermer la boîte de dialogue de l'Assistant de certification.

Maintenant que le certificat a été créé, vous pouvez retourner dans l'Assistant d'approvisionnement. Cliquez sur Continue, sur Choisir le fichier, désignez le certificat puis cliquez sur Continue. Vous devez maintenant donner un nom au profil d'approvisionnement. À la figure suivante, j'ai choisi « iPhone3G ».

Il faut donner un nom au profil d'approvisionnement

Cliquez enfin sur Generate. Au bout de quelques secondes, le profil est généré, comme à la figure suivante.

Le profil est généré

Cliquez sur Continue. La prochaine étape va consister à télécharger le profil d'approvisionnement dans votre Mac, puis à l'installer sur votre device.
Cliquez sur Download.

Une fois le fichier téléchargé, cliquez dessus avec le bouton droit de la souris dans la fenêtre Téléchargements et sélectionnez Afficher dans le Finder. Assurez-vous que votre device est connecté au Mac, puis glissez-déposez le fichier sur l'icône Xcode du dock (figure suivante). Cette action déclenche l'installation du fichier d'approvisionnement dans le device.

Glissez-déposez le fichier sur l'icône Xcode du dock

Retournez dans l'Assistant d'approvisionnement et cliquez sur Continue à deux reprises. Maintenant, vous pouvez vérifier que votre profil est bien affiché dans la section Provisioning de la fenêtre Organizer de Xcode, comme à la figure suivante.

Le profil est bien affiché

Retournez dans l'Assistant d'approvisionnement et cliquez sur Continue. Vous êtes maintenant invités à télécharger le certificat de développement iOS sur le Mac (figure suivante). Cliquez sur Download.

Vous êtes invités à télécharger le certificat de développement iOS sur le Mac

Au bout de quelques instants, un fichier nommé developer_identy.cer est téléchargé et placé dans le dossier Téléchargements de votre Mac. Double-cliquez sur ce fichier et ajoutez le certificat à un trousseau (figure suivante).

Ajoutez le certificat à un trousseau

Cliquez sur Ajouter. L'Assistant d'approvisionnement vous demande de vérifier que les clés privées et publiques ont bien été générées et liées au certificat de développeur.

Rendez-vous dans la fenêtre Trousseau d'accès et cliquez sur Clés dans le groupe Catégorie. Vous devriez obtenir quelque chose ressemblant à la figure suivante.

Les clés sont bien présentes

Retournez dans l'Assistant d'approvisionnement et cliquez sur Continue. La prochaine fenêtre (figure suivante) vous montre comment installer votre application avec Xcode.

La fenêtre vous montre comment installer l'application avec Xcode

Il ne vous reste plus qu'à installer votre application sur le device. Cliquez sur Continue puis sur Done.

J'espère que vous avez tenu le coup : l'étape que nous venons de voir est longue mais nécessaire pour l'installation d'une application sur un device.

Travailler sur un device

Installer une application iOS sur un device depuis Xcode

Voici les étapes qui vous permettront d'installer une application iOS sur un device qui possède un certificat.

  1. Connectez votre device au Mac via un port USB.

  2. Ouvrez, dans Xcode, l'application que vous voulez installer sur votre device.

  3. Déroulez le menu Window et cliquez sur Organizer. Cette action affiche la fenêtre Organizer. Cliquez sur votre device dans la marge gauche et repérez la version d'iOS installée sur ce device.

  4. Refermez la fenêtre Organizer.

  5. De retour dans Xcode, cliquez sur la première icône dans le volet de navigation et choisissez la même version d'iOS dans la liste Deployment Target.

  6. Sélectionnez votre device dans la liste déroulante Scheme, comme sur la figure suivante.

  7. Cliquez sur Run.

Sélectionnez votre device dans la liste déroulante Scheme

Une boîte de dialogue vous signale qu'une clé de votre trousseau va être utilisée pour signer l'application. Validez en cliquant sur Autoriser, comme à la figure suivante.

Une boîte de dialogue signale qu'une clé de trousseau va être utilisée pour signer l'application

L'application est compilée, copiée sur le device puis exécutée.

Installer la dernière version de iOS sur un matériel

Connectez votre device à un port USB du Mac. L'application iTunes se lance automatiquement. Sélectionnez votre device dans le volet gauche de iTunes, sous le libellé APPAREILS. La version d'iOS est affichée dans la partie droite de la fenêtre. Si une mise à jour est disponible, elle est affichée dans le cadre Version. Il vous suffit alors de cliquer sur Mettre à jour.

Faire des captures d'écran

Il est très simple de faire une capture d'écran sur un iPhone, un iPod Touch ou un iPad : appuyez simultanément sur les boutons Menu et Verrouillage, comme le montre la figure suivante.

Il faut appuyer simultanément sur les boutons Menu et Verrouillage pour faire une capture d'écran

Vous devriez entendre le son qui est habituellement émis lorsque vous prenez une photo. C'est bon signe ! Cela veut dire que la capture d'écran s'est bien faite.

Pour accéder à la capture, lancez l'application iPhoto et cliquez sur votre device, sous APPAREILS. Sélectionnez les photos à importer sous Nouvelles photos (1) et cliquez sur Importer la sélection (2).

La capture est présente dans l'application iPhoto

En résumé

  • Pour déboguer une application, rien de tel que le volet de débogage de Xcode. Pour l'afficher, il suffit de cliquer sur l'icône Hide or show the Debug area.

  • L'instruction NSLog() permet d'afficher des données alphanumériques dans le volet de débogage. Précisez le type de la donnée à afficher en utilisant un code %. Par exemple %@ pour afficher un NSString, ou encore %f pour afficher un float ou un double.

  • Pour obtenir des informations depuis le volet de débogage, insérez un point d'arrêt dans le code. Une fois l'application stoppée sur le point d'arrêt, tapez la commande po objet dans le volet de débogage (où objet représente l'objet sur lequel vous voulez avoir des informations).

  • Pour pouvoir tester les applications que vous développez sur vos devices (mais aussi les diffuser dans l'App Store), vous devez souscrire au programme de développement iOS.

  • Pour pouvoir tester vos applications sur un device, vous devez créer un profil d'approvisionnement.

  • Pour installer une application sur un device, il suffit de lancer la construction sur ce device (liste déroulante Scheme dans Xcode).

  • Pour mettre à jour iOS sur un device, connectez-le à votre Mac, sélectionnez-le dans iTunes, sous APPAREILS, puis cliquez sur Mettre à jour.

  • Pour faire une capture d'écran sur un device, appuyez simultanément sur les boutons Menu et Verrouillage. La capture est récupérée dans l'application iPhoto, après avoir cliqué sur votre device sous APPAREILS.

Exemple de certificat de réussite
Exemple de certificat de réussite