
Distribuer des apps internes propriétaires à des appareils Apple
Les appareils Apple prennent en charge l’installation sans fil d’apps internes propriétaires sans le recours à un Mac ou à l’App Store. Avant de pouvoir distribuer ces apps, vous devez posséder un profil dʼapprovisionnement. Les profils d’approvisionnement peuvent être installés et gérés à l’aide d’une solution MDM, puis téléchargés et installés par les utilisateurs par l’intermédiaire d’une solution MDM ou d’une mise à jour d’app. Avant qu’un profil d’approvisionnement arrive à expiration, consultez le site web Apple Developer pour créer un nouveau profil pour l’app. Dans le cas dʼune app iOS ou iPadOS, exportez un nouveau paquet d’app (un fichier .ipa) avec le nouveau profil d’approvisionnement pour les utilisateurs qui installent l’app pour la première fois.
Deux moyens vous permettent de distribuer des apps propriétaires internes :
Via une solution MDM
Via un site web
Ces deux méthodes requièrent la préparation de lʼapp en vue de la distribution, ce qui comprend la préparation dʼun manifeste.
Préparer une app interne propriétaire en vue d’une distribution sans fil
Pour préparer votre app interne propriétaire à une distribution sans fil, compilez une version archivée (un fichier .ipa) et un fichier manifeste qui permet la distribution et l’installation sans fil de l’app. Utilisez Xcode pour créer une archive (avec un numéro de version) de votre app, puis exportez-la en vue de sa distribution dans l’établissement. Xcode utilise le certificat de distribution et inclut le profil d’approvisionnement approprié. Le fichier manifeste est une liste de propriétés XML (un fichier .plist) utilisée par les appareils Apple pour rechercher, télécharger et installer des apps à partir de votre serveur web. Le fichier manifeste est créé par Xcode en utilisant des informations que vous fournissez lorsque vous partagez une app archivée pour une distribution dans l’établissement. Pour afficher la liste d’attributs et les valeurs associées, consultez l’article Install Application Command (en anglais) sur le site web des développeurs Apple.
Apps internes propriétaires gérées pour ordinateurs Mac
Même si toutes les apps achetées en volume et les apps personnalisées peuvent être installées en tant qu’apps gérées, seules certaines apps internes propriétaires peuvent être gérées. Pour être gérable, le paquet d’app :
Ne doit contenir aucun paquet imbriqué.
doit contenir une seule app.
doit être installé dans le dossier /Applications.
Les apps gérées doivent rester dans le dossier /Applications pour être considérées comme gérées.
Utiliser une solution MDM pour distribuer lʼapp
Pour utiliser une solution MDM, utilisez un manifeste avec les commandes InstallEnterpriseApplication
(fichier manifest ou manifeste intégrée) ou InstallApplication
(fichier manifest). Préférez lʼutilisation de la commande InstallEnterpriseApplication
car elle prend en charge sha256 et lʼépinglage de certificat. Pour en savoir plus, consultez la rubrique Commandes MDM.
Utiliser un site web pour distribuer lʼapp
Pour une installation d’app sans fil, les apps iOS et iPadOS doivent répondre aux conditions suivantes :
Les apps doivent être au format .ipa et compilées avec un profil d’approvisionnement interne.
Elles doivent posséder un fichier manifeste au format XML.
Elles doivent être téléchargées depuis un site web dont l’adresse commence par HTTPS.
Elles doivent être signées par un certificat considéré comme fiable sur l’appareil.
Leur configuration réseau doit permettre aux appareils d’accéder à un serveur Apple. Pour en savoir plus, consultez l’article Utiliser les produits Apple sur des réseaux d’entreprise de l’assistance Apple.
Pour installer le paquet, les utilisateurs doivent télécharger le fichier manifeste à partir de votre site web à l’aide du préfixe d’URL spécial. Vous pouvez distribuer l’URL permettant de télécharger le fichier manifeste par iMessage ou par e-mail. Voici un exemple de lien comportant le préfixe :
<a href="itms-services://?action=download-manifest&url=https://theacmeinc.com/manifest.plist">Installation d’apps</a>
Vous pouvez concevoir et héberger comme vous l’entendez le site web utilisé pour distribuer ces types d’apps. Assurez-vous que les utilisateurs sont authentifiés et que le site web est accessible depuis votre intranet ou Internet, selon vos besoins. Votre site web peut être une simple page web contenant un lien vers le fichier manifeste. Lorsqu’un utilisateur touche le lien web, le fichier manifeste est téléchargé, ce qui déclenche le téléchargement et l’installation des éléments décrits dans votre page web.
Assurez-vous de suivre ce conseil supplémentaire :
N’ajoutez pas de lien web directement vers l’app archivée (.ipa). Le fichier .ipa est téléchargé par l’appareil lors du chargement du fichier manifeste. Bien que la portion de l’URL correspondant au protocole soit « itms-services », l’App Store n’est pas impliqué dans ce processus.
Assurez-vous que le fichier .ipa est accessible via HTTPS et que votre site est signé avec un certificat reconnu comme fiable par iOS et iPadOS. L’installation échoue si un certificat auto-signé ne comprend pas de point d’ancrage fiable et ne peut pas être validé par l’appareil.
Téléchargez les éléments suivants vers une zone de votre site web à laquelle peuvent accéder vos utilisateurs authentifiés :
Le fichier manifeste (avec l’extension de fichier .plist)
Le fichier de l’app (avec l’extension de fichier .ipa)
Il peut être nécessaire de configurer votre serveur web de sorte que le fichier manifeste et le fichier d’app soient transmis correctement. Pour le serveur, ajoutez les types MIME aux réglages Types MIME du service web :
application/octet-stream ipa
text/xml plist
Pour le serveur Internet Information Server (IIS) de Microsoft, utilisez IIS Manager pour ajouter les types MIME dans la page de propriétés du serveur :
.ipa application/octet-stream
.plist text/xml
Remarque : si vous créez un portail en libre-service, envisagez d’ajouter un clip web à l’écran d’accueil de l’utilisateur afin de diriger facilement ce dernier vers le portail, où il pourra trouver des informations, comme les nouveaux profils de configuration, les apps de l’App Store recommandées et les modalités d’inscription à une solution MDM.
Validation de certificat
La première fois qu’un utilisateur ouvre une application sur un appareil, le certificat de distribution est validé en contactant le serveur OCSP d’Apple. Si le certificat a été révoqué, l’app ne s’exécute pas. Pour vérifier le statut, l’appareil doit être en mesure d’accéder à ocsp.apple.com.
La réponse OCSP est mise en cache sur l’appareil pendant une période indiquée par le serveur OCSP à l’heure actuelle, entre 3 et 7 jours. La validité du certificat n’est pas vérifiée jusqu’à ce que l’appareil redémarre et que la réponse mise en cache expire. Si le certificat a été révoqué entre temps, l’app ne s’ouvre pas.
AVERTISSEMENT : la révocation d’un certificat de distribution invalide toutes les apps que vous avez signées à l’aide de ce dernier. Ne révoquez un certificat qu’en dernier recours : en cas de perte de la clé privée ou de suspicion de compromission du certificat.
Fournir des mises à jour d’apps internes propriétaires
Les apps que vous distribuez vous-même ne sont pas mises à jour automatiquement. Lorsqu’une nouvelle version est disponible, avertissez les utilisateurs de la mise à jour et expliquez-leur comment installer l’app. Il est souhaitable que l’app recherche les mises à jour et informe l’utilisateur à son ouverture. Assurez-vous que la notification fournisse le lien itms-services. Vous pouvez également utiliser le protocole openURL à l’intérieur de l’app pour installer la mise à jour.
Si vous souhaitez que les utilisateurs conservent les données de l’app stockées sur leur appareil, assurez-vous que la nouvelle version utilise la même clé pour le champ bundle-identifier que celle qu’elle remplace et demandez aux utilisateurs de ne pas supprimer l’ancienne version avant d’installer la nouvelle.
Avant qu’un profil d’approvisionnement arrive à expiration, créez un nouveau profil pour lʼapp via le site web iOS Developer ou le site web iPadOS Developer. Exportez un nouveau paquet d’app (fichier .ipa) avec le nouveau profil d’approvisionnement pour les utilisateurs qui installent l’app pour la première fois.
Si les utilisateurs ont déjà installé l’app, envisagez de planifier la sortie de votre prochaine version de façon à ce qu’elle comprenne le nouveau profil d’approvisionnement. Ainsi, les utilisateurs ne seront pas interrompus tandis qu’ils utiliseront votre app. Si ce n’est pas le cas, vous pouvez simplement distribuer le fichier .mobileprovision, pour que les utilisateurs n’aient pas à installer l’app à nouveau. Le nouveau profil d’approvisionnement écrase celui qui se trouve dans l’archive de l’app.
Les profils d’approvisionnement de distribution expirent 12 mois après leur date d’émission. Après la date d’expiration, le profil est supprimé et l’app ne se lancera plus.
Si votre certificat de distribution arrive à expiration, l’app ne se lancera pas et vous devrez la recompiler avec un nouveau certificat de distribution. Votre certificat de distribution d’entreprise est valide pour une durée de 3 ans à partir de sa date d’émission, ou jusqu’à l’expiration de votre adhésion au programme Apple Developer Enterprise, la date retenue étant la plus proche. Pour éviter l’expiration de votre certificat, assurez-vous de renouveler votre adhésion avant qu’elle n’expire.
Vous pouvez disposer de deux certificats de distribution actifs simultanément, chacun étant indépendant de l’autre. La validité du second certificat démarre avant que celle du premier ne se termine, ce qui permet de mettre à jour les apps. Lors de la demande de votre second certificat de distribution, veillez à ne pas révoquer le premier certificat.
Dépannage de la distribution d’apps sans fil
Si la distribution d’apps échoue avec un message d’impossibilité de téléchargement :
Assurez-vous que l’app est correctement signée. Testez-la en l’installant sur un appareil à l’aide d’Apple Configurator, et voyez si des erreurs se produisent.
Assurez-vous que le lien au fichier manifeste est correct et que le fichier manifeste est accessible aux utilisateurs web.
Assurez-vous que l’URL du fichier .ipa (dans le fichier manifeste) est correcte et que le fichier .ipa est accessible aux utilisateurs web via HTTPS.