Distribution d’apps propriétaires développées à l’interne aux appareils Apple
Les appareils Apple prennent en charge l’installation sans fil d’apps propriétaires développées à l’interne sans utiliser un Mac ou passer par l’App Store. Avant de pouvoir distribuer ces apps, vous devez disposer d’un profil d’approvisionnement. Les profils d’approvisionnement peuvent être installés et gérés à l’aide d’une solution de gestion des appareils mobiles (GAM), puis téléchargés et installés par les utilisateurs par l’intermédiaire d’une mise à jour d’app ou de GAM. Avant qu’un profil d’approvisionnement n’arrive à expiration, consultez le site Web Apple Developer pour créer un nouveau profil pour l’app (en anglais). Pour les apps iOS ou iPadOS, exportez un nouveau paquet d’app (un fichier .ipa) à l’aide du nouveau profil d’approvisionnement, pour les utilisateurs qui installent l’app pour la première fois.
Approvisionnement et gestion des utilisateurs pour les développeurs d’apps propriétaires développées à l’interne
Les développeurs d’apps propriétaires développées à l’interne ont accès aux API d’Apple pour l’approvisionnement et la gestion des utilisateurs, ce qui leur permet d’automatiser des tâches comme la génération de profils d’approvisionnement et l’intégration de la gestion des utilisateurs dans les processus actuels.
Il existe deux façons de distribuer des apps propriétaires développées à l’interne :
À l’aide de GAM
À l’aide d’un site Web
Ces deux méthodes nécessitent de préparer l’app pour la distribution, ce qui comprend la préparation d’un manifeste.
Important : Sous iOS 18 et iPadOS 18, ou une version ultérieure, les apps propriétaires installées manuellement (sans GAM) nécessitent désormais un redémarrage de l’appareil pour achever la chaîne de confiance du profil d’approvisionnement.
Préparer une app propriétaire développée à l’interne en vue d’une distribution sans fil
Pour préparer votre app propriétaire développée à l’interne à 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 de votre app indexée selon sa version, puis exportez l’app en vue d’une distribution dans l’organisation. Xcode utiliser le certificat de distribution et inclus le profil d’approvisionnement adéquat. Le fichier manifeste est une liste de propriétés XML (un fichier .plist) utilisée par les appareils Apple pour trouver, 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 une organisation. Pour consulter la liste des attributs et des valeurs associées, consultez la page consacrée à la commande pour l’installation d’applications sur le site Web Apple Developer (en anglais).
Gérer les apps propriétaires développées à l’interne pour les ordinateurs Mac
À partir de macOS 14 ou une version ultérieure, vous pouvez gérer davantage d’applications. Si un paquet contient plusieurs paquets d’application, toute application déployée dans /Applications est gérée. Les apps gérées doivent rester dans le dossier /Applications pour être considérées comme gérées.
En utilisant la GAM, une organisation peut choisir de conserver ou de supprimer une application gérée lors de la désinscription d’un appareil, voire de désinstaller une application. Le paquet d’application est alors supprimé du dossier /Applications. Les données installées par le paquet ainsi que les scripts associés se trouvant dans d’autres emplacements ne sont pas concernés.
De plus, les données des applications gérées sont stockées sur un volume distinct lors de l’utilisation de l’inscription d’utilisateurs ou d’appareils au moyen de comptes.
Approvisionnement et gestion des utilisateurs pour les développeurs d’apps propriétaires développées à l’interne
Les développeurs d’apps propriétaires développées à l’interne ont accès aux API d’Apple pour l’approvisionnement et la gestion des utilisateurs, ce qui leur permet d’automatiser des tâches comme la génération de profils d’approvisionnement et l’intégration de la gestion des utilisateurs dans les processus actuels.
Pour en savoir plus, consultez la page API de Programme entreprise sur le site Web Apple Developer (en anglais).
Obtenir l’identifiant de paquet d’application pour Mac
Pour obtenir l’identifiant de paquet, cliquez sur l’application tout en maintenant la touche Contrôle enfoncée, puis sélectionnez Afficher le contenu du paquet. Ouvrez le dossier Contenu, puis ouvrez le fichier Info.plist. Si vous ne savez pas quelle app utiliser, ouvrez le fichier dans TextEdit. Utilisez la fonctionnalité Rechercher de l’app pour rechercher la valeur CFBundleIdentifier
dans le fichier, puis copiez la chaîne de la ligne suivante. Par exemple, com.betterbag.applicationname. Collez l’identifiant de paquet d’application dans un fichier texte ou dans une note pour l’utiliser par la suite.
Utilisation de la GAM pour distribuer l’app
Pour recourir à la GAM, utilisez un manifeste avec la commande InstallEnterpriseApplication
(fichier manifeste ou manifeste intégré) ou InstallApplication
(fichier manifeste). macOS prend aussi en charge la fonction sha256 et l’épinglage de certificats. Il existe des options supplémentaires pour l’utilisation de ces commandes avec différents systèmes d’exploitation :
Sur les appareils sous iOS 17.2 ou iPadOS 17.2, ou toute version ultérieure, vous pouvez aussi utiliser la configuration déclarative des apps.
Sur les appareils sous macOS, vous pouvez utiliser :
la commande
InstallApplication
pour le programme de licences multipostes et les installations de .pkg;la commande
InstallEnterpriseApplication
uniquement pour les installations de .pkg.
Pour en savoir plus, consultez la rubrique Commandes de GAM.
Utilisation d’un site Web pour distribuer l’app
Pour l’installation sans fil des apps, celles d’iOS, d’iPadOS et de visionOS 1.1 doivent satisfaire aux exigences suivantes :
Les apps doivent être au format .ipa et être conçues avec un profil d’approvisionnement interne.
Elles doivent contenir un fichier manifeste XML.
Elles doivent être téléchargées à partir d’un site Web dont l’adresse commence par HTTPS.
Elles doivent être signées par un certificat reconnu 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 de l’assistance Apple Utiliser les produits Apple sur les réseaux d’entreprise.
Pour installer le paquet, les utilisateurs téléchargent le fichier manifeste à partir de votre site Web en utilisant le préfixe d’URL précis. Vous pouvez distribuer l’URL pour télécharger le fichier manifeste à partir d’iMessage ou courriel. Voici un exemple de lien avec le préfixe ajouté :
<a href="itms-services://?action=download-manifest&url=https://betterbag.com/manifest.plist">Install App</a>
Vous pouvez concevoir et héberger comme vous l’entendez le site Web utilisé pour distribuer ce type d’apps. Assurez-vous que les utilisateurs sont authentifiés et que le site Web est accessible par l’intermédiaire de votre Intranet ou d’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 de ce que votre page Web a décrit.
Assurez-vous de suivre ces conseils supplémentaires :
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 concerné par 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éversez les éléments suivants vers une zone de votre site Web à laquelle peuvent accéder vos utilisateurs authentifiés :
le fichier manifeste (avec une extension .plist).
le fichier de l’app (avec une extension .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 des types MIME du service Web :
application/octet-stream ipa
text/xml plist
Pour le serveur ISS (Internet Information Server) 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 ultérieurement 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 de GAM.
Validation de certificat
La première fois qu’un utilisateur ouvre une app 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, actuellement entre trois et sept 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, soit en cas de perte de la clé privée ou de suspicion de compromission du certificat.
Distribution d’apps propriétaires développées à l’interne mises à jour
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 en informe l’utilisateur à son ouverture. Assurez-vous que la notification fournit le lien itms-services. Vous pouvez également utiliser openURL à partir 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 le même identifiant de paquet 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 n’arrive à expiration, créez un nouveau profil pour cette app par le biais du site Web Apple Developer consacré à iOS, à iPadOS ou à visionOS. Exportez un nouveau paquet d’app (un fichier .ipa) à l’aide du 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, vous souhaiterez peut-être planifier la sortie de votre prochaine version de façon à ce qu’elle comprenne le nouveau profil d’approvisionnement. Ainsi, vous éviterez d’interrompre les utilisateurs qui travaillent avec 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 indépendants 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, assurez-vous de ne pas révoquer le premier certificat.
Dépannage de la distribution d’apps iOS 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 pour Mac, et voyez si des erreurs se produisent.
Assurez-vous que le lien au fichier manifeste est correct et que le fichier manifeste est accessible par les utilisateurs Web.
Assurez-vous que l’URL du fichier .ipa (dans le fichier manifeste) est correcte et que le fichier .ipa est accessible par les utilisateurs Web par HTTPS.