Prise en charge d’IPA dans Xamarin.iOS
Cet article explique comment créer un fichier IPA afin de déployer une application à l’aide de la distribution ad hoc, soit pour des tests, soit pour distribuer en interne des applications internes.
Non seulement vous pouvez mettre en vente une application sur l’App Store d’iTunes, mais vous pouvez également la déployer pour les utilisations suivantes :
- Tests ad hoc - Vous pouvez déployer une application iOS pour un nombre maximal de 100 utilisateurs (identifiés par les UUID d’appareils iOS spécifiques) à des fins de test de versions alpha et bêta. Pour obtenir des informations détaillées sur l’ajout d’appareils iOS de test à votre compte de développeur Apple, consultez Provisionnement d’un appareil iOS pour le développement dans notre documentation. Pour plus d’informations sur la distribution d’applications selon le mode ad hoc, consultez également le guide Ad hoc.
- Déploiement interne/entreprise : une application iOS peut être déployée en interne, au sein d’une entreprise, ce qui nécessite l’adhésion au programme Développeur Entreprise d’Apple. Pour plus d’informations sur la distribution en interne, consultez le guide Distribution en interne.
Dans les deux cas, un paquet IPA (type spécial de fichier zip) doit être créé et signé numériquement avec le profil de provisionnement de distribution approprié. Cet article décrit les étapes nécessaires pour générer le paquet IPA et l’installer sur un appareil iOS à l’aide d’iTunes depuis un Mac ou un PC Windows.
Fichier iTunesMetadata.plist
Quand un développeur crée une application iOS dans iTunes Connect (qu’elle soit gratuite ou payante sur l’App Store d’iTunes), il peut spécifier des informations telles que le genre, le sous-genre, le copyright, les appareils iOS pris en charge, ainsi que les fonctionnalités offertes.
Les applications iOS fournies via une distribution ad hoc ou en interne doivent pouvoir prendre en charge ces informations pour qu’elles soient visibles sur iTunes et sur l’appareil de l’utilisateur. Par défaut, un petit fichier iTunesMetadata.plist est créé chaque fois que vous générez votre projet. Il est stocké dans le répertoire du projet.
Vous pouvez également créer un fichier iTunesMetadata.plist personnalisé pour fournir les informations supplémentaires d’une distribution. Pour plus d’informations sur le contenu de ce fichier et sur la manière de le créer, consultez Contenu d’iTunesMetadata.plist et Création d’un fichier iTunesMetadata.plist dans notre documentation.
Conception graphique iTunes
Quand vous distribuez votre application via d’autres moyens que l’App Store, vous devez également inclure une image de 512 x 512 pixels et de 1 024 x 1 024 pixels, qui est utilisée pour représenter votre application dans iTunes.
Pour spécifier les illustrations iTunes, effectuez les tâches suivantes :
- Dans l’Explorateur de solutions, double-cliquez sur le fichier Info.plist pour l’ouvrir et le modifier.
- Faites défiler l’affichage jusqu’à la section Conception graphique iTunes de l’éditeur.
- Pour toute image manquante, cliquez sur la miniature appropriée dans l’éditeur. À partir de la boîte de dialogue Ouvrir un fichier, sélectionnez le fichier image correspondant à l’illustration iTunes souhaitée, puis cliquez sur le bouton OK ou Ouvrir.
- Répétez cette étape jusqu’à ce que toutes les images nécessaires aient été spécifiées pour votre application.
Pour plus d’informations, consultez Conception graphique iTunes dans la documentation.
Création d’un fichier IPA
La création d’un fichier IPA est désormais intégrée au nouveau workflow de publication. Suivez les instructions ci-dessous pour archiver votre application, la signer et enregistrer votre fichier IPA.
Avant de commencer à créer un fichier IPA pour une solution multiplateforme, vérifiez que vous avez sélectionné le projet iOS en tant que projet de démarrage :
Générer votre archive
Pour générer un fichier IPA, nous devons créer une archive d’une build de mise en production de notre application. Cette archive contient notre application et les informations d’identification correspondantes.
Sélectionnez la mise en production | Configuration de l’appareil dans Visual Studio pour Mac : !
Dans le menu Générer , sélectionnez Archiver pour la publication :
Une fois l’archive créée, l’affichage Archives est présenté :
Signer et distribuer votre application
Chaque fois que vous générez votre application pour qu’elle soit archivée, l’affichage Archives s’ouvre automatiquement, ce qui entraîne l’affichage de tous les projets archivés, regroupés par solution. Par défaut, cet affichage montre uniquement la solution actuelle, ouverte. Pour afficher toutes les solutions ayant des archives, cliquez sur l’option Afficher toutes les archives.
Il est recommandé de conserver les archives déployées auprès des clients (déploiements ad hoc ou Interne) pour que les informations de débogage générées puissent être symbolisées plus tard.
Notez que pour les builds non liées à l’App Store, le fichier iTunesMetadata.plist et les illustrations iTunes sont automatiquement inclus dans votre fichier IPA, s’ils se trouvent dans l’archive.
Pour signer votre application et préparer sa distribution :
Cliquez sur le bouton Signer et distribuer, comme indiqué dans l’illustration ci-dessous :
Cela entraîne l’ouverture de l’Assistant Publication. Sélectionnez le canal de distribution Ad hoc ou Entreprise(interne) pour créer un paquet :
Dans l’écran Profil de provisionnement, sélectionnez votre identité de signature et le profil de provisionnement correspondant, ou reconnectez-vous avec une autre identité :
Vérifiez les détails du paquet, puis cliquez sur Publier :
Enfin, enregistrez le fichier IPA sur votre machine :
Génération via la ligne de commande (sur Mac)
Dans certains cas, par exemple dans un environnement d’intégration continue (CI), vous devez créer le fichier IPA via la ligne de commande. Suivez les étapes ci-dessous pour y parvenir :
Vérifiez que Options de projet > Options > IPA iOS Inclure les images iTunesArtwork est cochée et que Générer un package ad hoc/entreprise (IPA) est coché :
Si vous préférez, vous pouvez modifier le fichier .csproj dans un éditeur de texte et ajouter manuellement les deux propriétés correspondantes à
PropertyGroup
pour la configuration servant à générer l’application :<BuildIpa>true</BuildIpa> <IpaIncludeArtwork>false</IpaIncludeArtwork>
Si vous incluez un fichier iTunesMetadata.plist facultatif, cliquez sur le bouton ..., sélectionnez-le dans la liste, puis cliquez sur OK :
Appelez msbuild directement et passez cette propriété sur la ligne de commande :
/Library/Frameworks/Mono.framework/Commands/msbuild YourSolution.sln /p:Configuration=Ad-Hoc /p:Platform=iPhone /p:BuildIpa=true
Personnalisation de l’emplacement du fichier IPA
Une nouvelle propriété MSBuildIpaPackageDir
a été ajoutée pour faciliter la personnalisation de l’emplacement de sortie du fichier .ipa. Si IpaPackageDir
est défini à l’aide d’un emplacement personnalisé, le fichier .ipa est stocké dans cet emplacement au lieu du sous-répertoire horodaté par défaut. Cela peut être utile quand vous créez des builds automatisées qui reposent sur un chemin de répertoire spécifique pour fonctionner correctement, par exemple les build d’intégration continue (CI).
Il existe plusieurs façons d’utiliser la nouvelle propriété :
Par exemple, pour générer le fichier .ipa dans l’ancien répertoire par défaut (comme dans Xamarin.iOS 9.6 et versions antérieures), vous pouvez définir la propriété sur IpaPackageDir
à $(OutputPath)
l’aide de l’une des approches suivantes. Les deux approches sont compatibles avec toutes les builds d’API unifiée Xamarin.iOS, notamment les builds d’IDE et les builds de ligne de commande qui utilisent msbuild, xbuild ou mdtool :
La première option consiste à définir la propriété
IpaPackageDir
dans un élément<PropertyGroup>
d’un fichier MSBuild. Par exemple, vous pouvez ajouter le<PropertyGroup>
suivant au bas du fichier .csproj du projet d’application iOS (juste avant la balise de fermeture</Project>
) :<PropertyGroup> <IpaPackageDir>$(OutputPath)</IpaPackageDir> </PropertyGroup>
Une meilleure approche consiste à ajouter un
<IpaPackageDir>
élément au bas de l’existant<PropertyGroup>
qui correspond à la configuration utilisée pour générer le fichier .ipa . Cette solution est préférable, car elle permet de préparer le projet pour une compatibilité future avec un paramètre planifié de la page de propriétés de projet dans les Options IPA iOS. Si vous utilisez actuellement laRelease|iPhone
configuration pour générer le fichier .ipa , le groupe de propriétés mis à jour complet peut ressembler à ce qui suit :<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> <Optimize>true</Optimize> <OutputPath>bin\iPhone\Release</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ConsolePause>false</ConsolePause> <CodesignKey>iPhone Developer</CodesignKey> <MtouchUseSGen>true</MtouchUseSGen> <MtouchUseRefCounting>true</MtouchUseRefCounting> <MtouchFloat32>true</MtouchFloat32> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <MtouchLink>SdkOnly</MtouchLink> <MtouchArch>;ARMv7, ARM64</MtouchArch> <MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler> <MtouchTlsProvider>Default</MtouchTlsProvider> <PlatformTarget>x86&</PlatformTarget> <BuildIpa>true</BuildIpa> <IpaPackageDir>$(OutputPath)</IpaPackageDir> </PropertyGroup>
Il existe une autre technique pour les builds de ligne de commande msbuild ou xbuild. Elle consiste à ajouter un argument /p:
pour définir la propriété IpaPackageDir
. Dans ce cas, notez que msbuild ne développe pas les expressions $()
passées sur la ligne de commande, il est donc impossible d’utiliser la syntaxe $(OutputPath)
. À la place, vous devez fournir un chemin complet. La commande Mono xbuild développe les expressions $()
, mais il est tout de même préférable d’utiliser un nom de chemin complet, car xbuild a été déprécié au profit de la version multiplateforme de msbuild.
Voici à quoi peut ressembler un exemple complet de cette approche sur Windows :
msbuild /p:Configuration="Release" /p:Platform="iPhone" /p:ServerAddress="192.168.1.3" /p:ServerUser="macuser" /p:IpaPackageDir="%USERPROFILE%\Builds" /t:Build SingleViewIphone1.sln
Ou sur Mac :
msbuild /p:Configuration="Release" /p:Platform="iPhone" /p:IpaPackageDir="$HOME/Builds" /t:Build SingleViewIphone1.sln
Installation d’un fichier IPA à l’aide d’iTunes
Vous pouvez remettre le paquet IPA à vos utilisateurs de test pour qu’ils l’installent sur leurs appareils iOS, ou le préparer à un déploiement en entreprise. Quelle que soit la méthode choisie, l’utilisateur final installe le paquet dans son application iTunes sur Mac ou sur PC Windows en double-cliquant sur le fichier IPA (ou en le faisant glisser vers la fenêtre ouverte d’iTunes).
La nouvelle application iOS s’affiche dans la section My Apps (Mes applications). Pour obtenir des informations sur l’application, il vous suffit de cliquer sur celle-ci avec le bouton droit de la souris :
L’utilisateur peut à présent synchroniser son appareil avec iTunes pour installer la nouvelle application iOS.
Résumé
Cet article a décrit les étapes nécessaires à la préparation d’une application Xamarin.iOS pour une build non liée à l’App Store. Il a montré comment créer un paquet IPA et comment installer l’application iOS qui en résulte sur l’appareil iOS de l’utilisateur final à des fins de test ou de distribution en interne.
Liens associés
- distribution App Store
- Configuration d’une application dans iTunes Connect
- Publication sur l’App Store
- Distribution en interne
- Distribution ad hoc
- Fichier iTunesMetadata.plist
- Dépannage
- Conception graphique iTunes
- Développer et distribuer des applications d’entreprise (Apple)
- Distribution d’applications d’entreprise (vidéo WWDC)