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>

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:

  1. Rechtsklicken Sie im Projektmappen-Explorer auf die Xamarin.iOS-Projektdatei, und klicken Sie dann auf Hinzufügen>Neue Datei....

  2. Klicken Sie im Dialogfeld „Neue Datei“ auf iOS>Eigenschaftenliste:

    Select iOS Property List

  3. Geben Sie für den NameniTunesMetadata ein, und klicken Sie auf Neu.

  4. Doppelklicken Sie im iTunesMetadata.plistProjektmappen-Explorer auf die Datei , um sie zur Bearbeitung zu öffnen:

    The iTunesMetadata.plist editor

  5. Klicken Sie auf das grüne +, um einen neuen Eintrag hinzuzufügen, oder geben Sie UIRequiredDeviceCapabilities als Schlüsselnamen ein:

    Create a new entry and enter UIRequiredDeviceCapabilities as the key name

  6. Klicken Sie auf den Werttyp String, und klicken Sie anschließend in der Popupliste auf Wörterbuch:

    Select Dictionary from the popup list

  7. Klicken Sie auf den Pfeil links vom Namen der Eigenschaft, um die Einträge des Wörterbuchs anzuzeigen:

    Reveal the dictionary entries

  8. Klicken Sie auf Neuen Eintrag hinzufügen, und klicken Sie dann auf das grüne +, um einen Eintrag im Wörterbuch hinzuzufügen:

    Add an entry to the dictionary

  9. Geben Sie armv7 für den Schlüsselnamen ein, wählen Sie einen booleschen Wert aus, und geben Sie YES als Wert ein:

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

  10. 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.

  11. Speichern Sie die Änderungen an der PLIST-Datei.

Verwenden eines Nur-Text-Editors

Gehen Sie folgendermaßen vor:

  1. Erstellen Sie in einem Nur-Text-Editor eine neue Textdatei mit dem Namen iTunesMetadata.plist.
  2. Kopieren Sie den Beispielinhalt aus dem oben stehenden Abschnitt Inhalt der „iTunesMetadata.plist“-Datei.
  3. Fügen Sie den Inhalt in die Datei ein, und bearbeiten Sie ihn wo nötig.
  4. Speichern Sie die Datei, und kehren Sie zu Visual Studio für Mac zurück.
  5. Rechtsklicken Sie im Projektmappen-Explorer auf die Xamarin.iOS-Projektdatei, und klicken Sie dann auf Hinzufügen>Vorhandene Dateien....
  6. Klicken Sie im Dialogfeld „Datei öffnen“ auf die iTunesMetadata.plist-Datei, die Sie oben erstellt haben, und dann auf OK.
  7. 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.