Introduction▲
Vous avez donc développé votre app et l'avez testée sur le simulateur d'iPhone. Cependant, saviez-vous qu'il pourrait y avoir des bogues qui n'apparaissent que lorsque votre application mobile s'exécute sur un périphérique réel iPhone ou iOS ?
En outre, tester votre app iOS sur un appareil est le meilleur moyen d'évaluer les problèmes de performance avant qu'il ne soit trop tard.
Pour ceux d'entre nous qui n'ont aucun appareil iOS réel, le simulateur iOS est effectivement très bien. Mais au cas où vous disposez d'un appareil qui traîne quelque part et vous êtes inscrit dans le programme Apple iOS pour développeurs, ce tutoriel vous montrera comment mettre des applications mobiles sur iPhone ou sur tout autre appareil iOS.
Pourquoi devons-nous nous donner tant de mal ?
Il est courant de se demander pourquoi il faut tant d'étapes uniquement pour mettre votre application mobile sur un périphérique réel. La réponse est vraiment en rapport avec la sécurité. Même si vous n'avez pas l'intention de créer des applications malveillantes à mettre sur les téléphones des gens, Apple prend soin de pouvoir identifier qui a créé l'app et de pouvoir dire si celle-ci a été modifiée ou non.
Ces mesures de sécurité sont assurées par un processus appelé signature de code. Lorsque vous créez un paquetage d'app (binaire) à installer sur un appareil, vous devez y mettre votre « signature numérique » par la signature de code. Sinon, Apple ne permettra pas que cette application mobile soit déployée sur un appareil quelconque.
Exigences :
- vous devrez vous inscrire dans le programme pour développeurs iOS d'Apple, pour 99 $ par an ;
- vous aurez également besoin d'un appareil iOS réel.
Demandez vos certificats▲
Vos certificats sont utilisés pour signer numériquement les app et ils vous identifient de façon unique. Lors de cette étape, nous devons générer et demander deux certificats : l'un pour développement et l'autre pour distribution. Nous allons faire cela une seule fois (pas pour chaque app !).
Le certificat pour développement est utilisé lors des tests alors que celui pour distribution est utilisé dans le but de signer l'ensemble de votre application mobile pour distribution dans l'App Store une fois qu'elle est prête.
Maintenant que vous êtes inscrit dans le programme pour développeurs d'Apple, vous pouvez lancer Xcode 5 et aller dans le menu des préférences. Ensuite, allez à l'onglet « Accounts ».
Ici, remplissez les détails de votre compte développeur iOS Apple.
Après authentification, cliquez sur « View Details » et s'affichera cette fenêtre où vous pouvez visualiser vos certificats existants et les profils d'approvisionnement.
Si vous cliquez sur l'icône « + » sous le volet des certificats, vous pourrez demander un nouveau certificat de développement iOS. Allez-y et faites-le maintenant. Faites-le encore une fois et demandez également un certificat de distribution iOS.
Ensuite, si vous vous connectez à votre portail d'approvisionnement iOS et allez dans « Certificats », vous pouvez voir qu'ils ont été créés !
Dans le passé, cela était beaucoup plus fastidieux et vous auriez dû suivre plusieurs étapes pour générer la demande sur votre ordinateur, puis l'envoyer à Apple via le portail d'approvisionnement. C'est bien que cela soit à présent intégré dans Xcode 5 !
Avant de pouvoir installer l'app sur notre dispositif pour la tester, il faut entreprendre quelques actions :
- Configurez le périphérique pour développement et ajoutez-le au « member center » ;
- Créez un profil d'approvisionnement pour votre app ;
- Assurez-vous que votre application mobile est configurée pour utiliser ce profil d'approvisionnement ;
- Enfin, déployez l'app sur le périphérique.
Cela peut sembler très fastidieux (et ce l'est un peu), mais la raison en est que le profil d'approvisionnement de Xcode définit plusieurs éléments clés de l'information, tels que les appareils autorisés à installer votre app, un App ID nécessaire pour l'identifier dans le portail et les certificats de développement.
Le profil est installé sur le périphérique et vous serez en mesure de déployer votre app iOS sur celui-ci par la suite.
Une fois cette étape achevée, vous comprendrez que c'est assez simple !
1. Configurez le périphérique pour développement et ajoutez-le au « member center »▲
Tout ce que nous devons faire ici est de brancher l'iPhone ou l'iPad à votre ordinateur avec le câble USB.
Normalement, cette opération lancera iTunes et ce qu'il faut surveiller c'est que si votre appareil est neuf, iTunes vous demandera soit de le configurer comme un nouvel appareil, soit de restaurer une sauvegarde.
Vous devez traverser cette étape, sinon elle interférera avec ce que nous allons faire dans Xcode 5 pour configurer le périphérique.
Alors assurez-vous que votre appareil est prêt en voyant un écran comme celui-ci dans iTunes :
Si votre fenêtre iTunes vous demande de configurer le téléphone, vous devez le faire !
Ensuite, revenez à Xcode 5 et allez dans la fenêtre de l'organisateur en appuyant sur MAJ+CMD+2 ou en utilisant cette option du menu :
Cliquez sur l'onglet Devices en haut de la fenêtre de l'organisateur de Xcode. Alors, vous verrez dans la partie de gauche l'appareil que vous avez connecté tout à l'heure (ainsi que tous les autres dispositifs que vous avez connectés auparavant).
Choisissez dans la liste le périphérique actuellement connecté.
Vous verrez un écran comme ci-dessous et vous devrez cliquer sur le bouton Use For Development. Une fois la configuration de l'appareil pour développement terminée, cliquez sur le bouton Add To Member Center. Si vous ne voyez pas le bouton « Use For Development », cela signifie que cet appareil a été utilisé pour développement précédemment et il vous suffit de l'ajouter au « member center ».
Lorsque vous cliquez sur le bouton Add To Member Center, on vous demandera de choisir un compte. Celui que vous avez ajouté précédemment devrait apparaître. Sélectionnez-le et cliquez sur « Choose ».
2. Créez un profil d'approvisionnement pour votre app▲
Ensuite, connectez-vous à votre portail d'approvisionnement iOS ; il est temps de créer l'ID et profil d'approvisionnement iOS pour votre application mobile !
Vous souvenez-vous quand vous avez configuré un nouveau projet Xcode 5 et vous avez eu à saisir un nom de produit et un identifiant de société et les deux ont été réunis pour former le « bundle identifier » du projet ? Eh bien, cela entre en jeu maintenant !
Dans votre portail d'approvisionnement, allez à la section App IDs.
Donnez un nom à votre app, puis faites défiler un peu vers le bas jusqu'à la section « Explicit App ID » et mettez-y le même « bundle identifier » choisi pour votre projet Xcode.
Puis cliquez sur « Continue » et sur l'écran de confirmation suivant, cliquez sur « Submit ».
Maintenant, allez à la section des profils d'approvisionnement de développement. Nous allons créer un nouveau profil d'approvisionnement de développement iOS pour le nouveau App ID que nous venons d'ajouter.
Choisissez le type iOS App development et cliquez sur « Continue ».
Sur l'écran suivant, choisissez dans la liste déroulante l'App ID que vous venez d'ajouter.
Sur l'écran suivant, sélectionnez le certificat de développement et cliquez sur « Continue ».
Maintenant, vous pouvez enfin sélectionner les périphériques sur lesquels votre app est autorisée à être installée, afin de choisir celui que vous avez ajouté tout à l'heure via l'organisateur de Xcode 5.
Sur ce dernier écran, vous pouvez donner un nom au profil d'approvisionnement et le générer.
Cliquez sur le bouton bleu Download et le profil sera téléchargé sur votre ordinateur. Allez à l'emplacement où vous l'avez enregistré et puis double-cliquez sur le profil d'approvisionnement.
Vous remarquerez peut-être qu'il y a une date d'expiration de celui-ci. Le moment venu, vous pouvez le renouveler en allant à l'endroit où vos profils sont répertoriés et en cliquant sur « renew » à côté de celui qui va expirer.
3. Assurez-vous que votre app est configurée pour utiliser ce profil d'approvisionnement Xcode▲
Nous sommes presque prêts à déployer l'application mobile sur notre appareil iOS ! La dernière étape est de s'assurer que notre app est configurée pour utiliser ce nouveau profil.
Il est crucial que le bundle ID de votre projet Xcode soit identique au bundle ID spécifié lorsque vous avez créé votre App ID, sinon vous ne serez pas en mesure d'utiliser ce profil d'approvisionnement pour cette app.
Accédez à l'organisateur de votre Xcode 5 et vérifiez que le profil est installé sur votre appareil en allant dans la section « profil d'approvisionnement » sous votre appareil dans l'organisateur. (Cela peut aussi être un excellent moyen de résoudre les messages d'erreur provisioning profile can't be found - « profil d'approvisionnement introuvable »)
Ensuite, cliquez sur le nœud racine du projet dans votre navigateur de fichier de Xcode et sur le volet de droite, vous verrez les paramètres de votre projet.
Cliquez sur l'onglet Build Settings et faites défiler jusqu'à la partie Code Signing.
Assurez-vous que l'identité de signature de code est configurée pour utiliser le certificat que vous avez créé dans la première étape.
Si vous faites des tests et du développement, vous devriez sélectionner « iOS Developer » et si vous signez votre application mobile pour la distribuer via l'App Store, vous devriez choisir « iOS Distribution ».
Ces deux paramètres sont automatiques, ce qui signifie qu'ils sélectionneront automatiquement l'identité de signature à utiliser. Si vous n'avez qu'une identité de signature de développement et une identité de signature de distribution (ce qui est le plus probable, car vous venez d'en demander une par chaque type à l'étape 1), cette sélection automatique est suffisante, mais si vous avez plusieurs identités de signature alors il est peut-être préférable de sélectionner explicitement l'identité de signature que vous souhaitez utiliser.
Pendant que vous êtes dans les paramètres de compilation, une chose à garder à l'esprit est que lorsque vous créez un projet Xcode 5, il utilise par défaut une cible de déploiement iOS 7 au minimum.
Cela signifie que le périphérique sur lequel vous déployez l'app doit être au moins sous iOS 7.0.
Paramètres pour le cas où vous souhaitez inclure iOS 6 pour déploiement
Dans cet exemple, j'ai connecté mon appareil iOS 6 donc j'ai besoin de modifier les paramètres de mon projet afin d'avoir une cible de déploiement de minimum 6.0.
La configuration de l'architecture doit être modifiée comme suit si vous définissez votre cible de déploiement à 6.0. (Remarque : vous devez faire cela seulement si vous définissez votre cible de déploiement à 6.0.)
4. Enfin, déployez l'app sur le périphérique▲
Maintenant, si tout est configuré correctement, vous verrez le nom de votre téléphone dans la liste des cibles déployables.
Si vous ne voyez que « iOS Device », cela ne fonctionnera pas. Vous devrez voir en fait le nom de votre appareil dans la liste.
Alors, sélectionnez cet appareil et exécutez le projet pour déployer l'application mobile sur votre téléphone !
5. Correction des problèmes▲
Vous ne trouvez pas le nom de votre appareil sur la liste des cibles de déploiement ?
Cela peut être très frustrant, car il y a autant d'étapes dans des lieux différents.
Mon conseil serait de revenir sur vos pas et de vous assurer que vous n'avez rien oublié.
La première chose à faire est de débrancher et de rebrancher votre appareil. Ensuite, vérifiez les étapes suivantes.
- Vous n'avez pas besoin de demander de nouveaux certificats si vous pouvez les voir dans votre portail d'approvisionnement.
- Branchez votre appareil et ajoutez-le à nouveau au « member center » via l'organisateur de Xcode 5.
- Dans le portail, vérifiez que l'App ID que vous avez créé correspond à celui de votre projet.
- Dans le portail, vérifiez que le profil d'approvisionnement inclut l'appareil que vous avez connecté.
- Téléchargez-le à nouveau et double-cliquez sur lui.
- Allez dans l'organisateur de votre Xcode et assurez-vous que le profil de l'appareil connecté est visible dans la section des profils d'approvisionnement.
- Dans les paramètres de compilation de votre projet, assurez-vous que vos paramètres de signature de code utilisent les identités de signature appropriées.
- Dans les paramètres de compilation de votre projet, assurez-vous que la cible de déploiement est inférieure à la version de iOS exécutée par votre appareil connecté.
- Allez à iTunes et assurez-vous qu'on ne vous demande pas de configurer un nouveau téléphone ou restaurer une sauvegarde (cela peut interférer).
6. Conclusion▲
Ce mécanisme peut être assez fastidieux à mettre en place pour la première fois, mais pour les projets suivants, il vous suffira de créer de nouveaux App ID et profils d'approvisionnement sans vous soucier d'autre chose.
Dans le prochain article, je vous montrerai comment soumettre et publier une application mobile dans l'App Store.
Merci d'avoir lu cet article et de le partager, si vous l'avez trouvé utile !
7. Remerciements Developpez▲
Nous remercions Chris Ching de nous avoir aimablement autorisés à publier son article, dont le texte original peut être trouvé sur codewithchris.com. Nous remercions aussi Mishulyna pour sa traduction, LeBzul pour sa relecture technique ainsi que Claude Leloup pour sa relecture orthographique.
Les commentaires et les suggestions d'amélioration sont les bienvenus, alors, après votre lecture, n'hésitez pas : commentez !