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.
Provisionnement et gestion 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.
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.
Gérer des apps internes propriétaires pour des ordinateurs Mac
Depuis qu’est apparu macOS 14, vous pouvez gérer plus d’applications. Si un paquet contient plus d’un paquet d’application, toute application qui est 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.
À l’aide d’une solution MDM, une organisation peut définir si elle souhaite conserver ou supprimer une application gérée au moment de la désinscription, ou même désinstaller une application via la solution MDM. Cela supprime le paquet de l’application du dossier /Applications. Toutes les données installées par le paquet ou les éventuels scripts associés situés dans d’autres emplacements restent intacts.
En outre, les données des applications gérées sont situées sur un volume distinct lors de l’utilisation de l’inscription d’utilisateurs ou de l’inscription d’appareils à partir d’un compte.
Obtenir l’identifiant de paquet pour une application Mac
Pour obtenir l’identifiant du paquet (connu également sous le nom d’ID du paquet), cliquez sur l’application en maintenant la touche Contrôle enfoncée, puis sélectionnez « Afficher le contenu du paquet ». Ouvrez le dossier Contents, 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 trouver CFBundleIdentifier
dans le fichier, puis copiez la chaîne située sous cette ligne. Par exemple, com.betterbag.nomdelapplication. Collez l’identifiant du paquet de l’application dans un fichier texte ou dans une note en vue d’un usage ultérieur.
Utiliser une solution MDM pour distribuer lʼapp
Pour utiliser une solution MDM, utilisez un manifeste avec la commande InstallEnterpriseApplication
(fichier manifest ou manifest intégré) ou la commande InstallApplication
(fichier manifest). macOS prend également en charge sha256 et l’épinglage de certificat. Voici des options supplémentaires lors de l’utilisation de ces commandes avec différents systèmes d’exploitation :
Sur les appareils exécutant iOS 17.2 ou iPadOS 17.2 ou versions ultérieures, vous pouvez également utiliser la configuration déclarative des apps.
Sur les appareils exécutant macOS, vous pouvez utiliser :
La commande
InstallApplication
pour les achats en volume et les installations de type .pkg.La commande
InstallEnterpriseApplication
pour les installations de type .pkg uniquement.
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, iPadOS et visionOS 1.1 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="?x=http://support.apple.comitms-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 à 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, 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.
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 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.