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>
copyright
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 :
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le fichier projet Xamarin.iOS, puis sélectionnez Ajouter>Nouveau fichier...
Dans la boîte de dialogue Nouveau fichier, sélectionnez iOS>Property List (Liste de propriétés iOS) :
Entrez
iTunesMetadata
comme Nom, puis cliquez sur le bouton Nouveau.Dans l’Explorateur de solutions, double-cliquez sur le fichier
iTunesMetadata.plist
pour l’ouvrir et le modifier :Cliquez sur le + de couleur verte pour créer une entrée, puis entrez le nom de clé
UIRequiredDeviceCapabilities
:Cliquez sur le type valeur Chaîne, puis sélectionnez Dictionnaire dans la liste déroulante :
Cliquez sur la flèche vers le bas située à gauche du nom de la propriété pour afficher les entrées du dictionnaire :
Cliquez sur le texte Ajouter une nouvelle entrée, puis sur le + de couleur verte pour ajouter une entrée au dictionnaire :
Entrez le nom de clé
armv7
, sélectionnez le type Booléen, puis entrez la valeur Oui :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).Enregistrez les changements dans le fichier plist.
Utilisation d’un éditeur de texte brut
Effectuez les actions suivantes :
- Dans un éditeur de texte brut, créez un fichier texte et nommez-le
iTunesMetadata.plist
. - Copiez l’exemple de contenu de la section Contenu d’iTunesMetadata.plist ci-dessus.
- Collez le contenu dans le fichier, puis modifiez-le en fonction de vos besoins.
- Enregistrez le fichier, puis retournez à Visual Studio pour Mac.
- Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le fichier projet Xamarin.iOS, puis sélectionnez Ajouter>Fichiers existants....
- Dans la boîte de dialogue Ouvrir un fichier, sélectionnez le fichier
iTunesMetadata.plist
créé ci-dessus, puis cliquez sur le bouton OK. - 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.