Categories
Non classé

Déploiement aérien (Over the Air) d’une application iOS

Que vous veuillez envoyer votre application à des testeurs (distribution AdHoc) ou l’installer sur les terminaux de l’entreprise (distribution Enterprise), la manière classique de procéder est de transmettre l’application sous forme d’un fichier .ipa, de glisser celui-ci dans iTunes, puis de brancher et synchroniser le terminal iOS.

Cependant, il existe aussi un déploiement aérien (“Over the Air”) qui consiste à fournir (par courriel ou SMS) une URL vers une page web. En se rendant sur cette page avec le terminal iOS, on touche un simple lien et iOS propose d’installer l’application, puis la télécharge. Cette manière de procéder est peu connue; le fait d’Apple qui l’a documentée dans son guide ”Distributing Enterprise Apps for iOS 4 Devices”, alors que cette procédure est tout à fait permise en mode Ad Hoc.

En pratique

Vous allez créez un répertoire sur votre site web, qui contiendra:

  • le fichier .ipa
  • un fichier index.html qui sera la page web contenant le lien pour télécharger
  • un fichier manifeste, qui est une .plist comportant les renseignements sur votre application.

Le fichier html

Voici un exemple simple, mais bien suffisant:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<body>
<a href="itms-services://?action=download-manifest&url=http://www.monsite.fr/monappli/
MonAppli.plist">Installer l'application</a>
</body>

Cette page comportera uniquement un lien vers les services d’itunes auxquels on fournit l’adresse du manifeste, MonAppli.plist dans cet exemple. Il est évident que le passage par les services d’iTunes garantit que vous n’abuserez pas du système !

Application et manifeste

La doc d’apple donne un manifeste d’exemple fort compliqué. En fait, Xcode 4 va le générer pour nous. Pour cela:

  • commencez par Archiver l’application.
  • une fois l’archive dans l’Organiseur, cliquez le bouton ”Share…”
  • choisissez ”iOS App Store Package (.ipa)” et le certificat qui convient pour un déploiement Ad Hoc ou Enterprise.
  • conserver le nom du fichier .ipa, et cochez la case ”Save for Enterprise Distribution”
  • des champs apparaissent, renseignez au moins l’URL de l’appli (http://monsite.fr/monappli/MonAppli.ipa) et le titre. Xcode a généré app.ipa et app.plist, vous n’avez plus qu’à les copier dans le répertoire de votre site web.

Si ça ne fonctionne pas

D’expérience, il est assez rare que cela fonctionne au premier essai !

  • Commencez par vérifier l’URL du manifeste dans le fichier HTML
  • Vérifiez ensuite l’URL de l’appli dans le manifeste. L’adresse doit comporter le nom de l’application, donc se terminer par /MonAppli.ipa
  • Jetez un œil à la Console du terminal dans l’Organizer de Xcode. La raison est parfois affichée.
  • Si cela ne fonctionne toujours pas, c’est probablement un problème de certificat. On observe généralement que le téléchargement se termine mais que l’application disparait aussitôt. Dans ce cas, rebranchez votre terminal iOS et tentez une installation filaire pour résoudre ce problème.

Limitations

Ce mode de distribution n’est possible qu’à partir d’iOS 4. Sachez qu’il existe des sites web qui se proposent de stocker le fichier .ipa pour vous; dans le cas ou le terminal tourne sur une version antérieure d’iOS, ils proposent alors d’envoyer un courriel comportant l’URL de l’application pour pouvoir effectuer une installation filaire. Voilà, essayer le déploiement aérien, c’est l’adopter !