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 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.

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 :
tester vos applications sur device (et non dans le simulateur iOS) ;
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).

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.

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
.

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).

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).

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).

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.

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.

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).

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

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.

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.

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.

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).

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 ».

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

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.

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.

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
.

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).

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.

Retournez dans l'Assistant d'approvisionnement et cliquez sur Continue
. La prochaine fenêtre (figure suivante) vous montre comment installer votre 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.
Connectez votre device au Mac via un port USB.
Ouvrez, dans Xcode, l'application que vous voulez installer sur votre device.
Déroulez le menu
Window
et cliquez surOrganizer
. Cette action affiche la fenêtreOrganizer
. Cliquez sur votre device dans la marge gauche et repérez la version d'iOS installée sur ce device.Refermez la fenêtre
Organizer
.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
.Sélectionnez votre device dans la liste déroulante
Scheme
, comme sur la figure suivante.Cliquez sur
Run
.

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.

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.

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).

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 unNSString
, ou encore%f
pour afficher unfloat
ou undouble
.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 surMettre à jour
.Pour faire une capture d'écran sur un device, appuyez simultanément sur les boutons
Menu
etVerrouillage
. La capture est récupérée dans l'applicationiPhoto
, après avoir cliqué sur votre device sousAPPAREILS
.