Création et distribution d'une application iOS 1/2

La distribution d’une application iOS peut paraître impressionnante. Ce billet va tenter de démystifier ce processus et de vous donner quelques conseils pour améliorer vos chances de publication. Il est découpé en deux parties. La première présente les étapes allant de la constitution d’une équipe jusqu’à la création d’une application dans XCode et la seconde se concentre sur la publication de cette application. Le seul pré-requis est d’avoir un compte “Apple Developper”. Ce dernier pouvant être de type personnel ou entreprise.   On peut imaginer plusieurs variantes mais le processus que je vais décrire ici s’appuie sur le workflow suivant:

  1. Constitution de l’équipe de développeurs et enregistrement de ceux-ci en tant “qu’iOS Apple Developper”.
  2. Les développeurs créent leurs certificats: un pour le développement et un pour la publication.
  3. Initialisation de l’application dans l’iOS Provisioning Portal: création d’un identifiant pour l’application lié aux développeurs via leurs certificats et aux matériels de test. Cette liaison est appelée “provisioning profile”.
  4. Développement et test de l’application.
  5. Publication de l’application.

Enregistrement de l’équipe de développeurs

Une fois l’équipe choisie, vous devez les enregistrer via iTunes Connect dans le menu Manage Users. La personne effectuant cette tâche doit avoir le rôle Admin dans iTunes Connect.

Création des certificats

Les certificats sont utilisés pour authentifier le développeur et signer l’application. Sans eux, on ne pourra pas la déployer sur un device ou dans l’App Store. Un développeur peut utiliser ses certificats (développement et distribution) pour plusieurs applications. Cette étape n’est donc à réaliser qu’une seule fois par développeur.   On notera que tous les développeurs ne sont pas obligés d’avoir un certificat de publication (distribution), seul celui chargé de publier l’application en a besoin.   Pour créer les certificats les développeurs doivent d’abord effectuer une demande :

  1. Sur mac, se positionner dans le trousseau d’accès : Application / Utilitaires / Trousseau d’accès.
  2. Demander un certificat : Trousseau d’accès / Assistant de certification / Demander un certificat à une autorité de certificat.
  3. Le développeur doit saisir son adresse électronique, laisser vide l’adresse électronique de l’Autorité de Certification (AC), et décocher les informations sur la bi-clef puis choisir “enregistrer sur le disque” afin de sauvegarder le fichier.

Une fois la demande effectué, la création du certificat de fait via  iOS Provisioning Portal :

  1. Cliquer sur le bouton “request certificate”.
  2. Uploader le fichier généré dans l’étape précédente.
  3. Cliquer sur le lien pour récupérer le fichier WWDR (WorldWide Developer Relation).
  4. Attendre la validation administrateur (envoyer un mail).
  5. Recharger la page pour pouvoir télécharger le certificat.
  6. Importer celui-ci sur le poste du développeur en double cliquant sur le fichier téléchargé.

Initialisation de l’application dans l’iOS Provisioning Portal

Cette étape utilise l’iOS Provisiong Portal: Voici une capture d’écran décrivant cette étape : Une fois celle-ci réalisé, il faut créer les Provisioning Profiles :   On notera que c’est ici que l’on effectue la liaison entre le device de test et les développeurs. On peut toujours ajouter un device après la création de ce profil. Il suffit de le remettre à jour.   J’ai passé sous silence l’ajout des devices, cela ce fait simplement via l’Organizer d’XCode ou le menu Devices de cette page.   La capture ci-dessus représente la création d’un profil de développement. On remarque qu’il y a quelques différences avec la création du profil de distribution:   Il faut choisir la méthode de distribution:

  • La distribution via l’App Store est celle qui est bien connue du grand public. Elle permet une installation sur n’importe quel device tant que l’utilisateur passe par l’App Store.
  • Le mode Ad Hoc permet de s’affranchir de l’App Store en distribuant l’application (un fichier .ipa) de manière privée (uniquement pour les devices indiqués dans le provisionning profile). Cette installation se fera via iTunes: l’utilisateur doit double cliquer sur l’IPA pour l’enregistrer puis synchroniser son appareil avec iTunes.

Développement et test de l’application

Cette partie est réalisée par les développeurs, ils auront besoin d’XCode et d’un ou plusieurs matériel de tests : Voici comment initialiser un projet XCode :

  • Lancer XCode et créer un nouveau projet via le menu “File -> New Project”, puis choisissez le template approprié à votre application:

  • Configurer votre projet :

Le but étant de créer un projet quelconque je n’expliquerais pas ici cette configuration.     Une fois le projet créé, il faut lui affecter une icône et une image de lancement. Celles-ci doivent correspondre aux guidelines Apple :   Pour information, j’ai utilisé les images de Vicky Wenderlich, elles sont sous Creative Commons Attribution Licence.   On importera ensuite les profils précédemment créés dans XCode via l’Organizer en cliquant sur le bouton de rafraîchissement dans la partie Provisioning Profiles de l’onglet Devices:   Si vous rencontrez des problèmes lors de cette étape, vous pouvez télécharger vos profils à partir du portail iOS Provisioning Portal et les importer dans XCode (même écran que celui cité au dessus).     Une fois cette étape effectuée, on peut tester le déploiement sur un device correspondant au profile importé. Il suffit de connecter celui-ci sur votre Mac via un câble USB et de lancer XCode sur ce device : Dans mon cas j’ai ajouté un label “Hello world” et j’obtiens: On notera une subtilité avec l’arrivée de l’iPhone 5 et d’XCode 4.5 :

  • XCode 4.5 ne supporte plus le processeur armv6 (tous les appareils sortis avant l’iPhone 3GS) et ne propose plus de simulateur pour iOS4.
  • XCode 4.5 est nécessaire pour construire une application compatible iOS6 et donc compatible iPhone5: une application iPhone non construite avec XCode 4.5 aura des bandes noires lorsqu’elle sera lancée sur un iPhone 5.

Plus simplement dit, Apple a tout fait pour forcer les développeurs à abandonner iOS4. il est toutefois possible d’utiliser iOS6  pour construire une application pour iOS4.3, mais il est indispensable d’avoir un device pour les tests.   Autre point important à connaître lors du développement, si votre application est complexe ou utilise des achats (elle suivra alors une revue plus poussée) je vous conseille de la traduire en Anglais. En effet les revues Apple ne semblent pas être effectuées par des francophones, il faut donc leur faciliter la tâche.