
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 à l’App Store en utilisant le programme Apple Enterprise Developer. Le programme Apple Developer Enterprise est destiné uniquement à l’utilisation et à la distribution internes d’apps propriétaires dans des cas d’utilisation spécifiques qui ne sont pas correctement pris en charge par les apps publiques de l’App Store, les apps personnalisées via Apple School Manager ou Apple Business Manager, la distribution Ad Hoc ou les tests bêta via TestFlight.
Pour en savoir plus, consultez la page du programme Apple Developer Enterprise (en anglais).
Profil d’approvisionnement
Avant de pouvoir distribuer des apps internes propriétaires sur des iPhone, iPad, Apple TV, Apple Vision Pro et Apple Watch, vous devez disposer d’un profil d’approvisionnement. Vous pouvez installer et gérer les profils d’approvisionnement à l’aide d’un service de gestion des appareils, puis les utilisateurs peuvent les télécharger et les installer via ce service ou une mise à jour d’app.
Avant qu’un profil d’approvisionnement arrive à expiration, créez un nouveau profil pour lʼapp via le site web iOS Developer, le site web iPadOS Developer, ou le site web visionOS 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.
Approvisionner et gérer des utilisateurs pour les développeurs dʼapps internes propriétaires
Les développeurs dʼapps internes propriétaires ont accès aux API Apple pour le provisionnement et la gestion des utilisateurs, ce qui leur permet d’automatiser des tâches telles que le provisionnement de la génération de profils et l’intégration de la gestion des utilisateurs dans les processus existants.
Pour en savoir plus, consultez la page Enterprise Program API (en anglais) du site Apple Developer.
Deux moyens vous permettent de distribuer des apps propriétaires internes :
Utilisation d’un service de gestion des appareils
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.
Important : pour les appareils dotés d’iOS 18 et d'iPadOS 18 ou ultérieur, les apps internes propriétaires que vous installez manuellement (sans utiliser un service de gestion des appareils) nécessitent un redémarrage de l’appareil pour terminer l’approbation du profil d’approvisionnement.
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.
Utiliser un service de gestion des appareils pour distribuer l’app
Pour utiliser un service de gestion des appareils, vous devez utiliser le fichier de manifeste préparé avec l’un des éléments suivants :
La gestion déclarative des apps disponible sous iOS 17.2, iPadOS 17.2, visionOS 1.1 ou version ultérieure.
La commande
InstallEnterpriseApplication(fichier manifeste ou manifeste intégré).La commande
InstallApplication(fichier de manifeste)
Utiliser un site web pour distribuer lʼapp
Pour une installation d’app sans fil, les apps iOS, iPadOS et visionOS doivent respecter les 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 l’app, 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://betterbag.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 à un service de gestion des appareils.
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.
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.
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.
Mettre à jour manuellement les apps internes propriétaires
Pour les apps internes propriétaires distribuées à l’aide d’un service de gestion des appareils, vous pouvez utiliser le mécanisme d’app gérée pour mettre à jour une app.
Si les utilisateurs les ont téléchargées manuellement, les apps 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.
Dépanner 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 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 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.