Die Datei „iTunesMetadata.plist“ in Xamarin.iOS-Apps
In diesem Artikel wird die iTunesMetadata.plist-Datei vorgestellt, die verwendet wird, um iTunes Informationen zu einer iOS-Anwendung zu liefern, die die Ad-hoc-Verteilung entweder zu Testzwecken oder für die Unternehmensbereitstellung verwendet.
Beim Erstellen einer iOS-Anwendung in iTunes Connect (entweder zum Verkauf oder für die kostenlose Veröffentlichung im iTunes App Store) kann der Entwickler die folgenden Angaben machen: Genre, Subgenre, Urheberrechtshinweis, unterstützte iOS-Geräte und Geräteanforderungen. iOS-Anwendungen, die entweder Testbenutzern oder Unternehmensbenutzern über die Ad-hoc-Verteilung bereitgestellt werden, fehlen diese Informationen.
Um die fehlenden Informationen einer Ad-hoc-Verteilung bereitzustellen, kann eine optionale iTunesMetadata.plist
-Datei erstellt und in die IPA-Datei der Anwendung eingefügt werden. Diese PLIST-Datei ist eine speziell formatierte XML-Datei, die Schlüssel-Wert-Paare enthält, die Information zu einer angegebenen iOS-Anwendung enthalten (weitere Informationen finden Sie im Property List Programming Guide (Programmierleitfaden zu Eigenschaftenlisten) von Apple).
Inhalt der „iTunesMetadata.plist“-Datei
Hier sehen Sie ein Beispiel für eine typische iTunesMetadata.plist
-Datei, die verwendet wird, um die iTunes-Informationen für eine Ad-hoc-Verteilung zu definieren:
<?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>
Die Werte der einzelnen Schlüssel werden weiter unten ausführlich behandelt.
UIRequiredDeviceCapabilities
Der Schlüssel UIRequiredDeviceCapabilities
informiert iTunes darüber, welche gerätespezifischen Funktionen für eine iOS-Anwendung vor der Installation auf einem Gerät erforderlich sind. Er wird als Wörterbuch (<dict>...</dict>
) aus Funktionen (<key>...</key>
) mit jeweils einem booleschen Wert für jede Funktion bereitgestellt. Wenn der Wert einer Funktion true
ist, muss die Funktion vorhanden sein. Wenn er false
ist, muss die Funktion auf dem Gerät nicht vorhanden sein. Beispiel:
<key>UIRequiredDeviceCapabilities</key>
<dict>
<key>armv7</key>
<true/>
<key>front-facing-camera</key>
<true/>
</dict>
Gibt an, dass das iOS-Gerät den ARM7-Befehlssatz unterstützen und über eine Frontkamera verfügen muss, damit die Anwendung auf dem Gerät installiert werden kann. Eine vollständige Liste der zulässigen Werte finden Sie in der Dokumentation zu UIRequiredDeviceCapabilities von Apple.
artistName und playlistArtistName
Verwenden Sie die Schlüssel artistName
und playlistArtistName
, um den Namen des Unternehmens anzugeben, das die iOS-Anwendung entwickelt hat, der in iTunes angezeigt werden soll. Beispiel:
<key>artistName</key>
<string>Company, Inc.</string>
...
<key>playlistArtistName</key>
<string>Company, Inc.</string>
bundleDisplayName, itemName und playlistName
Verwenden Sie die Schlüssel bundleDisplayName
, itemName
und playlistName
, um den Namen der iOS-Anwendung anzugeben, der in iTunes angezeigt werden soll. Beispiel:
<key>bundleDisplayName</key>
<string>App Name</string>
...
<key>itemName</key>
<string>App Name</string>
...
<key>playlistName</key>
<string>App Name</string>
bundleShortVersionString und bundleVersion
Verwenden Sie die Schlüssel bundleShortVersionString
und bundleVersion
, um die Versionsnummer der iOS-Anwendung anzugeben, die in iTunes angezeigt werden soll. Beispiel:
<key>bundleShortVersionString</key>
<string>1.5.1</string>
<key>bundleVersion</key>
<string>1.5.1</string>
softwareVersionBundleId
Verwenden Sie den Schlüssel softwareVersionBundleId
, um die Bundle-ID der iOS-Anwendung anzugeben. Beispiel:
<key>softwareVersionBundleId</key>
<string>com.company.appid</string>
copyright
Verwenden Sie den Schlüssel copyright
, um den Urheberrechtshinweis anzugeben, der in iTunes angezeigt werden soll. Beispiel:
<key>copyright</key>
<string>© 2015 Company, Inc.</string>
releaseDate
Verwenden Sie den Schlüssel releaseDate
, um das Veröffentlichungsdatum der iOS-Anwendung anzugeben, das in iTunes angezeigt werden soll. Beispiel:
<key>releaseDate</key>
<string>2015-11-18T03:23:10Z</string>
softwareIconNeedsShine
Verwenden Sie den Schlüssel softwareIconNeedsShine
, um iTunes darüber zu informieren, ob für das Symbol der iOS-Anwendung für iOS 6 (und früher) ein glänzende Kennzeichnung erforderlich ist. Beispiel:
<key>softwareIconNeedsShine</key>
<false/>
gameCenterEnabled und gameCenterEverEnabled
Verwenden Sie die Schlüssel gameCenterEnabled
und gameCenterEverEnabled
, um iTunes darüber zu informieren, ob diese iOS-Anwendung das Game Center von Apple unterstützt. Beispiel:
<key>gameCenterEnabled</key>
<false/>
<key>gameCenterEverEnabled</key>
<false/>
genre, genreId und subgenres
Verwenden Sie die Schlüssel genre
und genreId
, um iTunes darüber zu informieren, welchem Genre die iOS-Anwendung zugeordnet werden kann. Beispiel:
<key>genre</key>
<string>Games</string>
<key>genreId</key>
<integer>6014</integer>
Der Schlüssel subgenres
kann optional auch verwendet werden, um zwei Subgenres für die iOS-Anwendung zu definieren. Beispiel:
<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>
Für iOS-Anwendungen stellt Apple zur Zeit folgende Genres und Genre-IDs zur Verfügung:
Genre-ID | Name des Genres |
---|---|
6000 | Unternehmen |
6001 | Weather |
6002 | Hilfsprogramme |
6003 | Anfahrt |
6004 | Sport |
6005 | Social Networking |
6006 | Verweis |
6007 | Produktivität |
6008 | Foto & Video |
6009 | News |
6010 | Navigation |
6011 | Musik |
6012 | Lifestyle |
6013 | Gesundheit & Fitness |
6014 | Spiele |
6015 | Finanzen |
6016 | Entertainment |
6017 | Education |
6018 | Bücher |
6020 | Medizin |
6021 | Zeitungskiosk |
6022 | Kataloge |
Untergeordnete Genres für Spiele (6014):
Genre-ID | Name des Genres |
---|---|
7001 | Aktion |
7002 | Adventure |
7003 | Arcade |
7004 | Übersicht |
7005 | Karte |
7006 | Casino |
7007 | Würfel |
7008 | Lernen |
7009 | Familie |
7010 | Kinder |
7011 | Musik |
7012 | Puzzle |
7013 | Racing |
7014 | Rollenspiel |
7015 | Simulation |
7016 | Sport |
7017 | Strategie |
7018 | Trivia |
7019 | Word |
Untergeordnete Genres für Neuigkeiten (6021):
Genre-ID | Name des Genres |
---|---|
13001 | News & Politik |
13002 | Mode & Stil |
13003 | Heim & Garten |
13004 | Outdoor & Natur |
13005 | Sport und Freizeit |
13006 | Automobilindustrie |
13007 | Kunst & Fotografie |
13008 | Braut & Hochzeit |
13009 | Business & Investment |
13010 | Kinderzeitschriften |
13011 | Computer und Internet |
13012 | Kochen, Essen und Getränke |
13013 | Handwerk & Hobbys |
13014 | Elektronik und Audio |
13015 | Entertainment |
13017 | Gesundheit, Geist & Körper |
13018 | Verlauf |
13019 | Literaturzeitschriften & andere Zeitschriften |
13020 | Für Männer |
13021 | Filme & Musik |
13023 | Elternschaft & Familie |
13024 | Pets |
13025 | Fachzeitschriften |
13026 | Regionale News |
13027 | Wissenschaft |
13028 | Teenager |
13029 | Reisen & Regionales |
13030 | Für Frauen |
softwareSupportedDeviceIds
Verwenden Sie den Schlüssel softwareSupportedDeviceIds
, um iTunes darüber zu informieren, welche iOS-Geräte von dieser iOS-Anwendung unterstützt werden. Beispiel:
<key>softwareSupportedDeviceIds</key>
<array>
<integer>9</integer>
</array>
Folgende Werte sind gültig:
- 1: Klassische iPhones
- 2: iPod Touch
- 4: iPad
- 9: Moderne iPhones
Standard Keys
Die folgenden Schlüssel werden in allen iTunesMetadata.plist
-Dateien für iOS-Anwendungen mit einbezogen, und weisen immer die gleichen Werte auf:
<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>
Erstellen einer „iTunesMetadata.plist“-Datei
Wenn Sie in Visual Studio für Mac mit einer iTunesMetadata.plist
-Datei arbeiten, haben Sie zwei Optionen:
- Sie können die Datei mit dem visuellen PLIST-Editor in Visual Studio für Mac erstellen und verwalten.
- Sie können die Datei in einem Nur-Text-Editor erstellen und verwalten.
Beide Optionen werden unten ausführlich besprochen.
Verwenden des visuellen PLIST-Editors
Gehen Sie folgendermaßen vor:
Rechtsklicken Sie im Projektmappen-Explorer auf die Xamarin.iOS-Projektdatei, und klicken Sie dann auf Hinzufügen>Neue Datei....
Klicken Sie im Dialogfeld „Neue Datei“ auf iOS>Eigenschaftenliste:
Geben Sie für den Namen
iTunesMetadata
ein, und klicken Sie auf Neu.Doppelklicken Sie im
iTunesMetadata.plist
Projektmappen-Explorer auf die Datei , um sie zur Bearbeitung zu öffnen:Klicken Sie auf das grüne +, um einen neuen Eintrag hinzuzufügen, oder geben Sie
UIRequiredDeviceCapabilities
als Schlüsselnamen ein:Klicken Sie auf den Werttyp String, und klicken Sie anschließend in der Popupliste auf Wörterbuch:
Klicken Sie auf den Pfeil links vom Namen der Eigenschaft, um die Einträge des Wörterbuchs anzuzeigen:
Klicken Sie auf Neuen Eintrag hinzufügen, und klicken Sie dann auf das grüne +, um einen Eintrag im Wörterbuch hinzuzufügen:
Geben Sie
armv7
für den Schlüsselnamen ein, wählen Sie einen booleschen Wert aus, und geben Sie YES als Wert ein:Wiederholen Sie die oben stehenden Schritte, bis Sie die
iTunesMetadata.plist
-Datei mit allen erforderlichen Schlüssel-Wert-Paaren ausgefüllt haben. Ausführlichere Informationen finden Sie im Abschnitt Inhalt der „iTunesMetadata.plist“-Datei weiter oben.Speichern Sie die Änderungen an der PLIST-Datei.
Verwenden eines Nur-Text-Editors
Gehen Sie folgendermaßen vor:
- Erstellen Sie in einem Nur-Text-Editor eine neue Textdatei mit dem Namen
iTunesMetadata.plist
. - Kopieren Sie den Beispielinhalt aus dem oben stehenden Abschnitt Inhalt der „iTunesMetadata.plist“-Datei.
- Fügen Sie den Inhalt in die Datei ein, und bearbeiten Sie ihn wo nötig.
- Speichern Sie die Datei, und kehren Sie zu Visual Studio für Mac zurück.
- Rechtsklicken Sie im Projektmappen-Explorer auf die Xamarin.iOS-Projektdatei, und klicken Sie dann auf Hinzufügen>Vorhandene Dateien....
- Klicken Sie im Dialogfeld „Datei öffnen“ auf die
iTunesMetadata.plist
-Datei, die Sie oben erstellt haben, und dann auf OK. - Verändern Sie die Einstellung von Buildaktion nicht von None.
Wählen Sie später diese iTunesMetadata.plist
-Datei aus, wenn Sie Ihre IPA-Datei in der IDE erstellen.
Zusammenfassung
In diesem Artikel wurde die iTunesMetadata.plist
-Datei besprochen, die Sie verwenden können, um iTunes über eine iOS-Anwendung zu informieren, die per Ad-hoc-Verteilung bereitgestellt wurde. Zudem wurden der Standardschlüssel in der PLIST-Datei sowie das Erstellen und Verwalten der Datei in Visual Studio und Visual Studio für Mac erläutert.