File iTunesMetadata.plist nelle app Xamarin.iOS
Questo articolo illustra il file iTunesMetadata.plist usato per fornire informazioni a iTunes su un'applicazione iOS con la distribuzione ad hoc per il test o la distribuzione a livello aziendale.
Quando un'applicazione iOS viene creata in iTunes Connect (per la vendita o il rilascio gratuito dall'App Store iTunes), lo sviluppatore può specificare informazioni come il genere dell'applicazione, il genere secondario, le informazioni sul copyright, i dispositivi iOS supportati e le funzionalità dei dispositivi necessarie. Per le applicazioni iOS distribuite ai tester o agli utenti Enterprise tramite la distribuzione ad hoc, queste informazioni mancano.
Per fornire le informazioni mancanti a una distribuzione ad hoc, è possibile creare un file iTunesMetadata.plist
facoltativo e includerlo nel file IPA delle applicazioni. Questo file con estensione plist è un file XML con formattazione speciale, contenente coppie chiave/valore che definiscono le informazioni su una determinata applicazione iOS. Per altre informazioni, vedere Property List Programming Guide (Guida alla programmazione di elenchi di proprietà) di Apple.
Contenuto di iTunesMetadata.plist
Il seguente è un esempio di un file iTunesMetadata.plist
tipico usato per definire le informazioni di iTunes per una distribuzione 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>
I valori delle singole chiavi sono illustrati sotto in dettaglio.
UIRequiredDeviceCapabilities
La chiave UIRequiredDeviceCapabilities
consente a iTunes di conoscere le funzionalità specifiche di un dispositivo iOS, necessarie per installare un'applicazione iOS in tale dispositivo. Viene fornita come dizionario (<dict>...</dict>
) di funzionalità (<key>...</key>
) a ognuna delle quali corrisponde un valore booleano. Se il valore di una funzionalità è true
, tale funzionalità deve essere presente. Se è false
, la funzionalità non deve essere presente nel dispositivo. Ad esempio:
<key>UIRequiredDeviceCapabilities</key>
<dict>
<key>armv7</key>
<true/>
<key>front-facing-camera</key>
<true/>
</dict>
Specifica che il dispositivo iOS deve supportare il set di istruzioni ARM7 e avere una fotocamera rivolta in avanti prima che questa applicazione possa essere installata nel dispositivo. Per un elenco completo di valori consentiti, vedere la documentazione su UIRequiredDeviceCapabilities di Apple.
artistName e playlistArtistName
Usare le chiavi artistName
e playlistArtistName
per definire il nome della società che ha creato l'applicazione iOS che verrà visualizzato in iTunes. Esempio:
<key>artistName</key>
<string>Company, Inc.</string>
...
<key>playlistArtistName</key>
<string>Company, Inc.</string>
bundleDisplayName, itemName e playlistName
Usare le chiavi bundleDisplayName
, itemName
e playlistName
per definire il nome dell'applicazione iOS che verrà visualizzato in iTunes. Esempio:
<key>bundleDisplayName</key>
<string>App Name</string>
...
<key>itemName</key>
<string>App Name</string>
...
<key>playlistName</key>
<string>App Name</string>
bundleShortVersionString e bundleVersion
Usare le chiavi bundleShortVersionString
e bundleVersion
per definire il numero di versione dell'applicazione iOS che verrà visualizzato in iTunes. Esempio:
<key>bundleShortVersionString</key>
<string>1.5.1</string>
<key>bundleVersion</key>
<string>1.5.1</string>
softwareVersionBundleId
Usare la chiave softwareVersionBundleId
per specificare l'ID del bundle per l'applicazione iOS. Esempio:
<key>softwareVersionBundleId</key>
<string>com.company.appid</string>
copyright
Usare la chiave copyright
per definire le informazioni sul copyright visualizzate in iTunes. Esempio:
<key>copyright</key>
<string>© 2015 Company, Inc.</string>
releaseDate
Usare la chiave releaseDate
per specificare una Data di rilascio per l'applicazione iOS che verrà visualizzata in iTunes. Esempio:
<key>releaseDate</key>
<string>2015-11-18T03:23:10Z</string>
softwareIconNeedsShine
Usare la chiave softwareIconNeedsShine
per comunicare a iTunes se l'icona dell'applicazione iOS richiede un punto luce per iOS 6 (e versioni precedenti). Esempio:
<key>softwareIconNeedsShine</key>
<false/>
gameCenterEnabled e gameCenterEverEnabled
Usare le chiavi gameCenterEnabled
e gameCenterEverEnabled
per comunicare a iTunes se questa applicazione iOS supporta Game Center di Apple. Esempio:
<key>gameCenterEnabled</key>
<false/>
<key>gameCenterEverEnabled</key>
<false/>
genre, genreId e subgenres
Usare le chiavi genre
e genreId
per comunicare a iTunes il genere a cui appartiene l'applicazione iOS. Esempio:
<key>genre</key>
<string>Games</string>
<key>genreId</key>
<integer>6014</integer>
La chiave subgenres
può facoltativamente essere usata per definire fino a due generi secondari per l'applicazione iOS. Esempio:
<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>
Per le applicazioni iOS, Apple definisce attualmente i generi e gli ID di genere seguenti:
ID genere | Nome genere |
---|---|
6000 | Azienda |
6001 | Meteo |
6002 | Utilità |
6003 | Viaggi |
6004 | Sport |
6005 | Social networking |
6006 | Riferimento |
6007 | Produttività |
6008 | Foto e video |
6009 | Novità |
6010 | Navigazione |
6011 | Musica |
6012 | Lifestyle |
6013 | Salute e benessere |
6014 | Giochi |
6015 | Dati finanziari |
6016 | Entertainment |
6017 | Istruzione |
6018 | Libri |
6020 | Medico |
6021 | Newsstand |
6022 | Cataloghi |
Sottogeneri giochi (6014):
ID genere | Nome genere |
---|---|
7001 | Azione |
7002 | modelli |
7003 | Arcade |
7004 | Bacheca |
7005 | Scheda |
7006 | Casinò |
7007 | Dadi |
7008 | Didattici |
7009 | Famiglia |
7010 | Bambini |
7011 | Musica |
7012 | Puzzle |
7013 | Corse |
7014 | Gioco di ruolo |
7015 | Simulazione |
7016 | Sport |
7017 | Strategia |
7018 | Trivia |
7019 | Word |
Sottogeneri Newstand (6021):
ID genere | Nome genere |
---|---|
13001 | Notizie e politica |
13002 | Moda e stile |
13003 | Casa e giardino |
13004 | Natura e vita all'aria aperta |
13005 | Sport e svago |
13006 | Automobili |
13007 | Arte e fotografia |
13008 | Matrimoni |
13009 | Affari e investimenti |
13010 | Riviste per bambini |
13011 | Computer e Internet |
13012 | Cucina, cibo e bevande |
13013 | Hobby e artigianato |
13014 | Elettronica e audio |
13015 | Entertainment |
13017 | Salute del corpo e della mente |
13018 | Cronologia |
13019 | Giornali e riviste letterari |
13020 | Argomenti di interesse maschile |
13021 | Film e musica |
13023 | Genitorialità e famiglia |
13024 | Animali |
13025 | Professionali e di settore |
13026 | Notizie regionali |
13027 | Scienza |
13028 | Adolescenti |
13029 | Viaggi e informazioni regionali |
13030 | Argomenti di interesse femminile |
softwareSupportedDeviceIds
Usare la chiave softwareSupportedDeviceIds
per comunicare a iTunes i dispositivi iOS supportati da questa applicazione iOS. Esempio:
<key>softwareSupportedDeviceIds</key>
<array>
<integer>9</integer>
</array>
Dove sono disponibili i valori seguenti:
- 1: iPhone classici
- 2: iPod Touch
- 4: iPad
- 9: iPhone moderni
Chiavi standard
Le chiavi seguenti sono incluse in tutti i file iTunesMetadata.plist
per le applicazioni iOS e hanno sempre gli stessi valori:
<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>
Creazione di un file iTunesMetadata.plist
Quando si usa un file iTunesMetadata.plist
in Visual Studio per Mac, sono disponibili due opzioni:
- Creare e gestire il file usando l'editor di file plist visivo di Visual Studio per Mac.
- Creare e gestire il file in un editor di testo normale.
Entrambe le opzioni sono illustrate sotto in dettaglio.
Uso dell'editor di file plist visivo
Effettua le operazioni seguenti:
In Esplora soluzioni fare clic con il pulsante destro del mouse sul file di progetto Xamarin.iOS e scegliere Aggiungi>Nuovo file.
Nella finestra di dialogo Nuovo file selezionare iOS>Elenco proprietà:
Immettere
iTunesMetadata
in Nome e fare clic sul pulsante Nuovo.Fare doppio clic sul file
iTunesMetadata.plist
in Esplora soluzioni per aprirlo e modificarlo:Fare clic sul segno + verde per creare una nuova voce e immettere
UIRequiredDeviceCapabilities
come nome della chiave:Fare clic sul tipo valore Stringa e selezionare Dizionario nell'elenco popup:
Fare clic sulla freccia verso il basso a sinistra del nome della proprietà per visualizzare le voci del dizionario:
Fare clic sul testo Aggiungi una nuova voce, quindi fare clic sul segno + verde per aggiungere una voce al dizionario:
Immettere
armv7
come nome della chiave, selezionare un tipo Booleano e immettere Sì come valore:Ripetere i passaggi precedenti fino a riempire il file
iTunesMetadata.plist
con tutte le coppie chiave/valore necessarie. Per altre informazioni dettagliate, vedere la sezione Contenuto di iTunesMetadata.plist sopra.Salvare le modifiche apportate al file con estensione plist.
Uso di un editor di testo normale
Effettua le operazioni seguenti:
- In un editor di testo normale creare un nuovo file di testo e denominarlo
iTunesMetadata.plist
. - Copiare il contenuto di esempio dalla sezione Contenuto di iTunesMetadata.plist sopra.
- Incollare il contenuto nel file e modificarlo in base alla necessità.
- Salvare il file e tornare a Visual Studio per Mac.
- In Esplora soluzioni fare clic con il pulsante destro del mouse sul file di progetto Xamarin.iOS e scegliere Aggiungi>File esistenti.
- Nella finestra di dialogo Apri file selezionare il file
iTunesMetadata.plist
creato sopra e fare clic sul pulsante OK. - Lasciare l'opzione Azione di compilazione di questo file impostata su Nessuna.
Selezionare in seguito questo file iTunesMetadata.plist
durante la preparazione della compilazione del file IPA nell'IDE.
Riepilogo
Questo articolo ha illustrato il file iTunesMetadata.plist
che può essere usato per comunicare a iTunes informazioni su un'applicazione iOS distribuita con la modalità ad hoc. Ha descritto la chiave standard nel file con estensione plist e come creare e gestire il file in Visual Studio e Visual Studio per Mac.