Partager via


Fichier iTunesMetadata.plist dans les applications Xamarin.iOS

Cet article présente le fichier iTunesMetadata.plist, qui permet de fournir des informations à iTunes sur une application iOS à l’aide de la distribution ad hoc pour des tests ou un déploiement en entreprise.

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. Pour les applications iOS fournies aux testeurs ou aux utilisateurs en entreprise via une distribution ad hoc, ces informations sont manquantes.

Pour fournir les informations manquantes d’une distribution ad hoc, vous pouvez créer un fichier iTunesMetadata.plist facultatif et l’inclure dans le fichier IPA des applications. Ce fichier plist est un fichier XML ayant un format spécial (pour plus d’informations, consultez le Guide de programmation des listes de propriétés d’Apple), qui contient des paires clé/valeur définissant les informations relatives à une application iOS donnée.

Contenu d’iTunesMetadata.plist

Voici un exemple de fichier iTunesMetadata.plist classique permettant de définir les informations d’iTunes pour une distribution ad hoc :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UIRequiredDeviceCapabilities</key>
    <dict>
        <key>armv7</key>
        <true/>
        <key>front-facing-camera</key>
        <true/>
    </dict>
    <key>artistName</key>
    <string>Company, Inc.</string>
    <key>bundleDisplayName</key>
    <string>App Name</string>
    <key>bundleShortVersionString</key>
    <string>1.5.1</string>
    <key>bundleVersion</key>
    <string>1.5.1</string>
    <key>copyright</key>
    <string>© 2015 Company, Inc.</string>
    <key>drmVersionNumber</key>
    <integer>0</integer>
    <key>fileExtension</key>
    <string>.app</string>
    <key>gameCenterEnabled</key>
    <false/>
    <key>gameCenterEverEnabled</key>
    <false/>
    <key>genre</key>
    <string>Games</string>
    <key>genreId</key>
    <integer>6014</integer>
    <key>itemName</key>
    <string>App Name</string>
    <key>kind</key>
    <string>software</string>
    <key>playlistArtistName</key>
    <string>Company, Inc.</string>
    <key>playlistName</key>
    <string>App Name</string>
    <key>releaseDate</key>
    <string>2015-11-18T03:23:10Z</string>
    <key>s</key>
    <integer>143441</integer>
    <key>softwareIconNeedsShine</key>
    <false/>
    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>9</integer>
    </array>
    <key>softwareVersionBundleId</key>
    <string>com.company.appid</string>
    <key>subgenres</key>
    <array>
        <dict>
            <key>genre</key>
            <string>Puzzle</string>
            <key>genreId</key>
            <integer>7012</integer>
        </dict>
        <dict>
            <key>genre</key>
            <string>Word</string>
            <key>genreId</key>
            <integer>7019</integer>
        </dict>
    </array>
    <key>versionRestrictions</key>
    <integer>16843008</integer>
</dict>
</plist>

Les valeurs des clés individuelles sont détaillées ci-dessous.

UIRequiredDeviceCapabilities

La clé UIRequiredDeviceCapabilities permet à iTunes de connaître les fonctionnalités spécifiques qu’une application iOS doit avoir pour pouvoir être installée sur un appareil iOS donné. Elle est fournie sous la forme d’un dictionnaire (<dict>...</dict>) de fonctionnalités (<key>...</key>) et d’une valeur booléenne pour chaque fonctionnalité. Si la valeur d’une fonctionnalité est true, cette fonctionnalité doit être présente. Si la valeur est false, la fonctionnalité ne doit pas être présente sur l’appareil. Par exemple :

<key>UIRequiredDeviceCapabilities</key>
<dict>
    <key>armv7</key>
    <true/>
    <key>front-facing-camera</key>
    <true/>
</dict>

Spécifie que l’appareil iOS doit prendre en charge le jeu d’instructions ARM7 et disposer d’une caméra frontale pour que l’application puisse être installée. Pour obtenir la liste complète des valeurs autorisées, consultez la documentation d’Apple relative à UIRequiredDeviceCapabilities.

artistName et playlistArtistName

Utilisez les clés artistName et playlistArtistName pour définir le nom de l’entreprise qui a créé l’application iOS à afficher dans iTunes. Exemple :

<key>artistName</key>
<string>Company, Inc.</string>
...
<key>playlistArtistName</key>
<string>Company, Inc.</string>

bundleDisplayName, itemName et playlistName

Utilisez les clés bundleDisplayName, itemName et playlistName pour définir le nom de l’application iOS à afficher dans iTunes. Exemple :

<key>bundleDisplayName</key>
<string>App Name</string>
...
<key>itemName</key>
<string>App Name</string>
...
<key>playlistName</key>
<string>App Name</string>

bundleShortVersionString et bundleVersion

Utilisez les clés bundleShortVersionString et bundleVersion pour définir le numéro de version de l’application iOS à afficher dans iTunes. Exemple :

<key>bundleShortVersionString</key>
<string>1.5.1</string>
<key>bundleVersion</key>
<string>1.5.1</string>

softwareVersionBundleId

Utilisez la clé softwareVersionBundleId pour spécifier l’ID de bundle de l’application iOS. Exemple :

<key>softwareVersionBundleId</key>
<string>com.company.appid</string>

Utilisez la clé copyright pour définir le copyright affiché dans iTunes. Exemple :

<key>copyright</key>
<string>© 2015 Company, Inc.</string>

releaseDate

Utilisez la clé releaseDate pour indiquer la date de sortie de l’application iOS à afficher dans iTunes. Exemple :

<key>releaseDate</key>
<string>2015-11-18T03:23:10Z</string>

softwareIconNeedsShine

Utilisez la clé softwareIconNeedsShine pour indiquer à iTunes si l’icône de l’application iOS nécessite une mise en surbrillance pour iOS 6 (et les versions antérieures). Exemple :

<key>softwareIconNeedsShine</key>
<false/>

gameCenterEnabled et gameCenterEverEnabled

Utilisez les clés gameCenterEnabled et gameCenterEverEnabled pour indiquer à iTunes si l’application iOS prend en charge le Game Center d’Apple. Exemple :

<key>gameCenterEnabled</key>
<false/>
<key>gameCenterEverEnabled</key>
<false/>

genre, genreId et subgenres

Utilisez les clés genre et genreId pour indiquer à iTunes le genre auquel appartient l’application iOS. Exemple :

<key>genre</key>
<string>Games</string>
<key>genreId</key>
<integer>6014</integer>

Éventuellement, vous pouvez utiliser la clé subgenres afin de préciser deux sous-genres au maximum pour l’application iOS. Exemple :

<key>subgenres</key>
<array>
    <dict>
        <key>genre</key>
        <string>Puzzle</string>
        <key>genreId</key>
        <integer>7012</integer>
    </dict>
    <dict>
        <key>genre</key>
        <string>Word</string>
        <key>genreId</key>
        <integer>7019</integer>
    </dict>
</array>

Pour les applications iOS, Apple définit les genres et ID de genres suivants :

ID du genre Nom du genre
6000 Entreprise
6001 Météo
6002 Services
6003 Déplacements
6004 Sports
6005 Réseaux sociaux
6006 Référence
6007 Productivité
6008 Photo et vidéo
6009 Actualités
6010 Navigation
6011 Musique
6012 Style de vie
6013 Santé et bien-être
6014 Jeux
6015 Finances
6016 Divertissement
6017 Education
6018 Livres
6020 Médecine
6021 Newsstand
6022 Catalogues

Sous-genres de jeux (6014) :

ID du genre Nom du genre
7001 Action
7002 Adventure
7003 Arcade
7004 Board
7005 Card
7006 Casino
7007 Dés
7008 Éducatif
7009 Famille
7010 Enfants
7011 Musique
7012 Puzzle
7013 Course
7014 Jeux de rôle
7015 Simulation
7016 Sports
7017 Stratégie
7018 Trivia
7019 Word

Sous-genres de kiosques à journaux (6021) :

ID du genre Nom du genre
13001 Actualités et politique
13002 Mode et tendances
13003 Maison et jardin
13004 Nature et plein air
13005 Sports et loisirs
13006 Automobile
13007 Art et photographie
13008 Mariages et mariées
13009 Affaires et investissements
13010 Magazines pour enfants
13011 Informatique et Internet
13012 Cuisine, produits alimentaires et boissons
13013 Travaux manuels et passe-temps
13014 Électronique et audio
13015 Divertissement
13017 Santé, corps et esprit
13018 Historique
13019 Magazines littéraires et journaux
13020 Centres d’intérêt masculins
13021 Musique et films
13023 Éducation parentale et famille
13024 Animaux domestiques
13025 Secteur professionnel et commerce
13026 Actualités régionales
13027 Science
13028 Adolescents
13029 Voyage et régions
13030 Centres d’intérêt féminins

softwareSupportedDeviceIds

Utilisez la clé softwareSupportedDeviceIds pour indiquer à iTunes les appareils iOS pris en charge par l’application iOS. Exemple :

<key>softwareSupportedDeviceIds</key>
<array>
    <integer>9</integer>
</array>

Où les valeurs suivantes sont possibles :

  • 1 - iPhones classiques
  • 2 - iPod touch
  • 4 - iPad
  • 9 - iPhones modernes

Clés standard

Les clés suivantes sont incluses dans tous les fichiers iTunesMetadata.plist des applications iOS et ont toujours les mêmes valeurs :

<key>drmVersionNumber</key>
<integer>0</integer>
<key>fileExtension</key>
<string>.app</string>
...
<key>kind</key>
<string>software</string>
...
<key>s</key>
<integer>143441</integer>
...
<key>versionRestrictions</key>
<integer>16843008</integer>

Création d’un fichier iTunesMetadata.plist

Quand vous utilisez un fichier iTunesMetadata.plist dans Visual Studio pour Mac, vous avez deux options :

  • Créer et tenir à jour le fichier à l’aide de l’éditeur Visual Plist de Visual Studio pour Mac
  • Créer et tenir à jour le fichier dans un éditeur de texte brut

Les deux options sont traitées en détail ci-dessous.

Utilisation de l’éditeur Visual Plist

Effectuez les actions suivantes :

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le fichier projet Xamarin.iOS, puis sélectionnez Ajouter>Nouveau fichier...

  2. Dans la boîte de dialogue Nouveau fichier, sélectionnez iOS>Property List (Liste de propriétés iOS) :

    Select iOS Property List

  3. Entrez iTunesMetadata comme Nom, puis cliquez sur le bouton Nouveau.

  4. Dans l’Explorateur de solutions, double-cliquez sur le fichier iTunesMetadata.plist pour l’ouvrir et le modifier :

    The iTunesMetadata.plist editor

  5. Cliquez sur le + de couleur verte pour créer une entrée, puis entrez le nom de clé UIRequiredDeviceCapabilities :

    Create a new entry and enter UIRequiredDeviceCapabilities as the key name

  6. Cliquez sur le type valeur Chaîne, puis sélectionnez Dictionnaire dans la liste déroulante :

    Select Dictionary from the popup list

  7. Cliquez sur la flèche vers le bas située à gauche du nom de la propriété pour afficher les entrées du dictionnaire :

    Reveal the dictionary entries

  8. Cliquez sur le texte Ajouter une nouvelle entrée, puis sur le + de couleur verte pour ajouter une entrée au dictionnaire :

    Add an entry to the dictionary

  9. Entrez le nom de clé armv7, sélectionnez le type Booléen, puis entrez la valeur Oui :

    Enter armv7 for the key name, select a type of Boolean and enter Yes as the value

  10. Répétez les étapes ci-dessus jusqu’à ce que vous ayez rempli le fichier iTunesMetadata.plist avec toutes les paires clé/valeur nécessaires (pour plus d’informations, consultez la section Contenu d’iTunesMetadata.plist ci-dessus).

  11. Enregistrez les changements dans le fichier plist.

Utilisation d’un éditeur de texte brut

Effectuez les actions suivantes :

  1. Dans un éditeur de texte brut, créez un fichier texte et nommez-le iTunesMetadata.plist.
  2. Copiez l’exemple de contenu de la section Contenu d’iTunesMetadata.plist ci-dessus.
  3. Collez le contenu dans le fichier, puis modifiez-le en fonction de vos besoins.
  4. Enregistrez le fichier, puis retournez à Visual Studio pour Mac.
  5. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le fichier projet Xamarin.iOS, puis sélectionnez Ajouter>Fichiers existants....
  6. Dans la boîte de dialogue Ouvrir un fichier, sélectionnez le fichier iTunesMetadata.plist créé ci-dessus, puis cliquez sur le bouton OK.
  7. Laissez à l’option Action de génération de ce fichier la valeur Aucune.

Plus tard, vous devez sélectionner ce fichier iTunesMetadata.plist quand vous vous préparez à créer votre fichier IPA dans l’IDE.

Résumé

Cet article a présenté le fichier iTunesMetadata.plist, qui permet d’informer iTunes sur une application iOS faisant l’objet d’une distribution ad hoc. Il a décrit les clés standard du fichier plist. Il a ensuite expliqué comment créer et tenir à jour ce fichier dans Visual Studio et Visual Studio pour Mac.