Distribution dans l’App Store

Une fois l’application Xamarin.iOS développée, la prochaine étape du cycle de vie du développement du logiciel consiste à la distribuer aux utilisateurs à l’aide de l’App Store d’iTunes. Il s’agit de la manière la plus courante de distribuer des applications. En publiant une application sur l’App Store d’Apple, vous la mettez à la disposition des consommateurs du monde entier.

Important

Apple a indiqué qu’à partir de mars 2019 toutes les applications et mises à jour envoyées à l’App Store doivent avoir été créées avec le kit SDK d’iOS 12.1 ou ultérieur, inclus dans Xcode 10.1 ou ultérieur. Les applications doivent aussi prendre en charge les tailles d’écran de l’iPhone XS et de l’iPad Pro 12,9".

Important

Si vous recherchez des ressources en ce qui concerne l’avertissement UIWebView de dépréciation (ITMS-90809) lors de l’utilisation de Xamarin.Forms, reportez-vous à la documentation WebView Xamarin.Forms.

La distribution d’une application, tout comme son développement, nécessite le provisionnement d’applications à l’aide du profil de provisionnement approprié. Les profils de provisionnement sont des fichiers qui contiennent les informations sur le code de signature, ainsi que l’identité de l’application et le mécanisme de distribution prévu. Ils contiennent également des informations relatives aux appareils sur lesquels l’application peut être déployée pour la distribution hors App Store.

Important

Pour pouvoir utiliser iTunes Connect et donc publier une application sur l’App Store, vous devez faire partie d’un programme pour les développeurs d’Apple, en tant qu’individu ou qu’organisation. Vous ne pouvez pas suivre les étapes de cette page si vous êtes membre d’un programme Developer Enterprise d’Apple.

Provisionnement d’une application pour sa distribution via l’App Store

Quelle que soit la manière dont vous comptez publier une application Xamarin.iOS, vous devez créer un profil de provisionnement de distribution spécifique. Ce profil permet à l’application d’être publiée avec une signature numérique pour qu’elle puisse être installée sur un appareil iOS. Le profil de provisionnement de distribution, qui est similaire au profil de provisionnement de développement, contient les éléments suivants :

  • ID d’application
  • Certificat de distribution

Vous pouvez sélectionner le même ID d’application et les mêmes appareils que ceux que vous avez utilisés pour votre profil de provisionnement de développement. Toutefois, si vous n’en avez pas déjà, vous devez créer un certificat de distribution pour identifier votre organisation quand vous soumettez l’application à l’App Store. Les étapes à suivre pour créer un certificat de distribution sont décrites dans la section ci-dessous.

Remarque

Seuls les agents et les administrateurs d’équipe peuvent créer des certificats de distribution et des profils d’approvisionnement.

Création d’un certificat de distribution

  1. Accédez à la section Certificates, Identifiers & Profiles (Certificats, identificateurs et profils) du Member Center du programme Developer d’Apple.

  2. Sous Certificates, sélectionnez Production.

  3. Cliquez sur le bouton + pour créer un certificat.

  4. Sous le titre Production, sélectionnez App Store and Ad Hoc (App Store et ad hoc) :

    Select App Store and Ad Hoc

  5. Cliquez sur Continue, puis suivez les instructions permettant de créer une demande de signature de certificat via Trousseaux d’accès :

    Create a Certificate Signing Request via Keychain Access

  6. Une fois la demande de signature de certificat créée, cliquez sur Continue, puis chargez-la sur le Member Center :

    Upload the CSR to the Member Center

  7. Cliquez sur Generate pour créer le certificat.

  8. Pour finir, téléchargez le certificat rempli, puis double-cliquez sur le fichier pour l’installer.

  9. À ce stade, le certificat doit être installé sur la machine, mais vous devrez peut-être actualiser vos profils pour vérifier qu’ils sont visibles dans Xcode.

Sinon, il est possible de demander un certificat via la boîte de dialogue Preferences de Xcode. Pour ce faire, procédez comme suit :

  1. Sélectionnez votre équipe, puis cliquez sur Gérer les certificats... : Select the team and View Details

  2. Cliquez ensuite sur le bouton Créer en regard du certificat de distribution iOS : Create an iOS Distribution Certificate

  3. Selon les privilèges de votre équipe, l’identité de signature est générée, comme indiqué ci-dessous, ou vous devrez peut-être attendre qu’un agent d’équipe ou un administrateur l’approuve : The signing identity will be generated and a dialog displayed

Création d’un profil de distribution

Création d’un ID d’application

Comme pour tout profil de provisionnement que vous créez, un ID d’application est nécessaire pour identifier l’application que vous distribuez sur l’appareil de l’utilisateur. Si vous ne l’avez pas déjà créé, suivez les étapes ci-dessous pour en créer un :

  1. Dans Apple Developer Center, accédez à la section Certificates, Identifiers & Profiles (Certificats, identificateurs et profils). Sélectionnez App IDs sous Identifiers.
  2. Cliquez sur le bouton +, puis indiquez un Name (Nom) qui identifie l’application sur le portail.
  3. Le préfixe d’application doit déjà être défini à l’aide de votre ID d’équipe. Il est impossible de le changer. Sélectionnez un ID d’application explicite ou générique carte et entrez un ID d’offre groupée dans un format DNS inversé comme suit :
    • Explicite : com.[DomainName].[AppName]
    • Avec des caractères génériques : com.[DomainName].*
  4. Sélectionnez les services d’application nécessaires à l’application.
  5. Cliquez sur le bouton Continue et suivez les instructions affichées à l’écran pour créer l’ID d’application.

Création d’un profil de provisionnement

Une fois que vous avez les composants nécessaires pour créer un profil de distribution, suivez les étapes ci-dessous pour le créer :

  1. Retournez au portail de provisionnement Apple, puis sélectionnez Provisioning (Provisionnement)>Distribution :

    RSelect Provisioning > Distribution

  2. Cliquez sur le bouton + et sélectionnez le type App Store en tant que profil de distribution à créer :

    Create an App Store distribution profile

  3. Cliquez sur le bouton Continue, puis dans la liste déroulante, sélectionnez l’ID d’application pour lequel vous souhaitez créer un profil de distribution :

    Select App ID from the dropdown list

  4. Cliquez sur le bouton Continue, puis sélectionnez le certificat nécessaire pour signer l’application :

    Select the certificate required to sign the application

  5. Cliquez sur le bouton Continue, puis sélectionnez les appareils iOS sur lesquels l’application Xamarin.iOS est autorisée à s’exécuter :

    Select the iOS devices that app will be allowed to run on

  6. Cliquez sur le bouton Continue, puis entrez un Name (Nom) pour le nouveau profil de distribution :

    Enter a Name for the new Distribution Profile

  7. Cliquez sur le bouton Generate pour créer le profil et finaliser le processus.

Vous devrez peut-être quitter Visual Studio pour Mac et obliger Xcode à actualiser sa liste d’identités de signature et de profils de provisionnement disponibles (en suivant les instructions de la section Demande d’identités de signature) pour qu’un nouveau profil de distribution soit disponible dans Visual Studio pour Mac.

Sélection d’un profil de distribution dans un projet Xamarin.iOS

Une fois que vous êtes prêt à effectuer une build finale d’une application Xamarin.iOS pour la commercialiser dans l’App Store d’iTunes, sélectionnez le profil de distribution créé ci-dessus.

Dans Visual Studio pour Mac, effectuez les tâches suivantes :

  1. Dans l’Explorateur de solutions, double-cliquez sur le nom du projet pour l’ouvrir et le modifier.

  2. Sélectionnez Signature du bundle iOS et Mise en production | iPhone dans la liste déroulante Configuration :

    Select Release | iPhone from the Configuration dropdown

  3. Dans la plupart des cas, les options Identité de signature et Profil de provisionnement peuvent garder leurs valeurs par défaut Automatique. Visual Studio pour Mac choisit le profil approprié en fonction de l’identificateur de bundle dans Info.plist :

    The Signing Identity and the Provisioning Profile set to the default values of Automatic

  4. Le cas échéant, sélectionnez l’identité de signature et le profil de distribution (créé ci-dessus) dans les listes déroulantes :

    Select the Signing Identity and Distribution Profiles

  5. Cliquez sur le bouton OK pour enregistrer les changements.

Configuration de votre application dans iTunes Connect

Une fois l’application correctement provisionnée, l’étape suivante consiste à la configurer dans iTunes Connect, une suite d’outils web qui vous permettent, entre autres choses, de gérer vos applications iOS dans l’App Store.

Vous devez préparer correctement votre application Xamarin.iOS dans iTunes Connect avant de pouvoir la soumettre pour évaluation à Apple, et ensuite la mettre en vente ou la proposer gratuitement dans l’App Store.

Pour plus d’informations, consultez Configuration d’une application dans iTunes Connect dans notre documentation.

Soumission d’une application à iTunes Connect

Une fois que l’application a été signée à l’aide du profil de provisionnement de distribution et qu’elle a été créée dans iTunes Connect, son fichier binaire est chargé sur Apple pour évaluation. Si l’évaluation faite par Apple est positive, l’application est disponible dans l’App Store.

Pour plus d’informations sur la publication d’applications sur l’App Store, consultez Publication sur l’App Store.

Copier automatiquement les bundles .app dans Windows

Quand vous créez des applications iOS dans Visual Studio et sur l’agent de build Mac, le bundle .app n’est pas copié sur la machine Windows. Xamarin Tools pour Visual Studio 7.4 ajoute une nouvelle propriété CopyAppBundle, qui permet aux builds d’intégration continue (CI) de copier les bundles .app sur Windows.

Pour utiliser cette fonctionnalité, ajoutez la propriété CopyAppBundle au fichier .csproj sous le groupe de propriétés auquel vous souhaitez appliquer la fonctionnalité. L’exemple suivant montre comment copier le bundle .app sur l’ordinateur Windows pour une build de débogage ciblant iPhoneSimulator :

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
    <CopyAppBundle>true</CopyAppBundle>
</PropertyGroup>

Résumé

Cet article a présenté les composants clés de la préparation d’une application Xamarin.iOS pour sa distribution dans l’App Store.