Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В статье описывается файл iTunesMetadata.plist, который предоставляет в iTunes информацию о приложении при прямом распространении для тестирования или корпоративного развертывания.
При создании приложения в iTunes Connect (для продажи или для бесплатного распространения через iTunes App Store) разработчик может указать сведения, такие как жанр приложения, поджанр, уведомление об авторских правах, поддерживаемые устройства iOS и требуемые параметры устройства. В распространяемых напрямую приложениях iOS, предназначенных для тестировщиков или корпоративных пользователей, эта информация отсутствует.
Для предоставления этой информации при распространении напрямую можно создать и включить в IPA необязательный файл iTunesMetadata.plist. PLIST-файл представляет собой XML-файл со специальным форматированием (подробные сведения см. в разделе Руководство по программированию списка свойств Apple), который содержит пары "ключ-значение", задающие сведения об этом приложении iOS.
Содержимое файла iTunesMetadata.plist
Ниже представлен типовой пример файла iTunesMetadata.plist, используемого для предоставления iTunes сведений при прямом распространении:
<?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>
Значения каждого ключа будут подробно рассмотрены ниже.
UIRequiredDeviceCapabilities
Ключ UIRequiredDeviceCapabilities сообщает iTunes, какие функции должно поддерживать конкретное устройство для установки приложения на это устройство iOS. Ключ состоит из словаря (<dict>...</dict>) функций (<key>...</key>), а также логического значения для каждой функции. Если значение для функции true, то наличие этой функции необходимо. Если false, то эта функция должна отсутствовать в устройстве. Например:
<key>UIRequiredDeviceCapabilities</key>
<dict>
<key>armv7</key>
<true/>
<key>front-facing-camera</key>
<true/>
</dict>
Указывает на то, что для установки данного приложения на устройство это устройство iOS должно поддерживать набор инструкций ARM7 и иметь фронтальную камеру. Полный список допустимых значений см. в разделе UIRequiredDeviceCapabilities документации корпорации Apple.
artistName и playlistArtistName
В ключах artistName и playlistArtistName указывается название компании, создавшей приложение. Название будет отображаться в iTunes. Пример:
<key>artistName</key>
<string>Company, Inc.</string>
...
<key>playlistArtistName</key>
<string>Company, Inc.</string>
bundleDisplayName, itemName и playlistName
В ключах bundleDisplayName, itemName и playlistName указывается имя приложения iOS, которое будет отображаться в iTunes. Пример:
<key>bundleDisplayName</key>
<string>App Name</string>
...
<key>itemName</key>
<string>App Name</string>
...
<key>playlistName</key>
<string>App Name</string>
bundleShortVersionString и bundleVersion
В ключах bundleShortVersionString и bundleVersion указывается номер версии приложения iOS, который отображается в iTunes. Пример:
<key>bundleShortVersionString</key>
<string>1.5.1</string>
<key>bundleVersion</key>
<string>1.5.1</string>
softwareVersionBundleId
В ключе softwareVersionBundleId указывается идентификатор пакета приложения. Пример:
<key>softwareVersionBundleId</key>
<string>com.company.appid</string>
copyright
В ключе copyrightуказывается уведомление об авторских правах, которое отображается в iTunes. Пример:
<key>copyright</key>
<string>© 2015 Company, Inc.</string>
releaseDate
В ключе releaseDate указывается дата выпуска приложения iOS. Дата выпуска отображается в iTunes. Пример:
<key>releaseDate</key>
<string>2015-11-18T03:23:10Z</string>
softwareIconNeedsShine
В ключе softwareIconNeedsShine указывается, требуется ли подсветка значка приложения в iOS 6 (и ранее). Пример:
<key>softwareIconNeedsShine</key>
<false/>
gameCenterEnabled и gameCenterEverEnabled
Ключи gameCenterEnabled и gameCenterEverEnabled сообщают iTunes, поддерживает ли это приложение Apple Game Center. Пример:
<key>gameCenterEnabled</key>
<false/>
<key>gameCenterEverEnabled</key>
<false/>
genre, genreId и subgenres
Ключи genre и genreId сообщают iTunes, к какому жанру относится приложение. Пример:
<key>genre</key>
<string>Games</string>
<key>genreId</key>
<integer>6014</integer>
Дополнительно можно использовать ключ subgenres для определения до двух поджанров приложения iOS. Пример:
<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>
Apple определяет следующие жанры и идентификаторы жанров для приложений iOS:
| Идентификатор жанра | Название жанра |
|---|---|
| 6000 | Триггер |
| 6001 | Погода |
| 6002 | Служебные инструменты |
| 6003 | Поездка |
| 6004 | Спорт |
| 6005 | Социальные сети |
| 6006 | Справочные материалы |
| 6007 | Продуктивность |
| 6008 | Фото и видео |
| 6009 | News |
| 6010 | Область |
| 6011 | Музыка |
| 6012 | Образ жизни |
| 6013 | Здоровье и фитнес |
| 6014 | Игры |
| 6015 | Finance |
| 6016 | Развлечения |
| 6017 | Образование |
| 6018 | Книги |
| 6020 | Медицинское обслуживание |
| 6021 | Киоск |
| 6022 | Каталоги |
Поджанры игр (6014):
| Идентификатор жанра | Название жанра |
|---|---|
| 7001 | Действие |
| 7002 | Adventure |
| 7003 | Аркады |
| 7004 | Board |
| 7005 | Карточка |
| 7006 | Казино |
| 7007 | Кости |
| 7008 | Образование |
| 7009 | Семья |
| 7010 | Дети" |
| 7011 | Музыка |
| 7012 | Паззл |
| 7013 | Гонки |
| 7014 | Ролевые игры |
| 7015 | Simulation |
| 7016 | Спорт |
| 7017 | Стратегия |
| 7018 | Викторины |
| 7019 | Word |
Поджанры новостей (6021):
| Идентификатор жанра | Название жанра |
|---|---|
| 13001 | Новости и политика |
| 13002 | Мода и стиль |
| 13003 | Дом и сад |
| 13004 | Туризм и природа |
| 13005 | Спорт и досуг |
| 13006 | Автомобильная промышленность |
| 13007 | Искусство и фотография |
| 13008 | Свадьбы |
| 13009 | Бизнес и инвестиции |
| 13010 | Журналы для детей |
| 13011 | Компьютеры и Интернет |
| 13012 | Приготовление еды и напитков |
| 13013 | Ремесла и хобби |
| 13014 | Электронные устройства и аудио |
| 13015 | Развлечения |
| 13017 | Здоровье, ум и тело |
| 13018 | Журнал |
| 13019 | Литературные журналы и альманахи |
| 13020 | Мужчины |
| 13021 | Видео и музыка |
| 13023 | Родительство и семья |
| 13024 | Животные |
| 13025 | Профессиональные навыки и торговля |
| 13026 | Региональные новости |
| 13027 | Наука |
| 13028 | Подростки |
| 13029 | Путешествия |
| 13030 | Женщины |
softwareSupportedDeviceIds
Ключ softwareSupportedDeviceIds сообщает iTunes, какие устройства с iOS поддерживает это приложение. Пример:
<key>softwareSupportedDeviceIds</key>
<array>
<integer>9</integer>
</array>
Допустимы следующие значения:
- 1 — классические iPhone
- 2 — iPod Touch
- 4 — iPad
- 9 — современные iPhone
Стандартные ключи
Следующие ключи содержатся во всех файлах iTunesMetadata.plist всех приложений iOS и всегда имеют одни и те же значения:
<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>
Создание файла iTunesMetadata.plist
При работе с файлом iTunesMetadata.plist в Visual Studio для Mac возможны два варианта:
- Создать и настроить файл а визуальном редакторе файлов plist Visual Studio для Mac.
- Создать и настроить файл в текстовом редакторе.
Ниже описываются оба способа.
Использование визуального редактора файлов plist
Выполните следующие действия.
В Обозревателе решений щелкните правой кнопкой на файле проекта Xamarin.iOS и выберите Добавить>Новый файл...
В диалоговом окне создания файла выберите iOS>Список свойств:

Введите в поле Имя значение
iTunesMetadataи нажмите кнопку Новый.Для редактирования файла дважды щелкните на файле
iTunesMetadata.plistв Обозревателе решений:
Нажмите зеленый + для создания новой записи и введите
UIRequiredDeviceCapabilitiesв качестве имени ключа:
Нажмите на тип значение Строка и выберите Словарь в раскрывающемся списке:

Нажмите стрелку вниз слева от имени свойства, чтобы показать элементы словаря:

Нажмите на надпись Добавить запись, затем нажмите зеленый + для добавления записи в словарь:

Введите
armv7в качестве имени ключа, выберите тип Логическое и введите Да в качестве значения:
Повторяйте эти шаги, пока не заполните все необходимые пары ключ/значение в файле
iTunesMetadata.plist(подробные сведения см. в разделе Содержимое файла iTunesMetadata.plist).Сохраните изменения в файле plist.
Использование текстового редактора
Выполните следующие действия.
- Создайте в текстовом редакторе новый файл и назовите его
iTunesMetadata.plist. - Скопируйте пример содержимого файла из раздела Содержимое файла iTunesMetadata.plist выше.
- Вставьте содержимое в файл и отредактируйте его под свои нужды.
- Сохраните файл и вернитесь в Visual Studio для Mac.
- В Обозревателе решений щелкните правой кнопкой на файле проекта Xamarin.iOS и выберите Добавить>Существующие файлы....
- В диалоговом окне открытия файла выберите файл
iTunesMetadata.plist, который мы создали выше, и нажмите кнопку OK. - Оставьте значение поля Действие при построении в значении Нет.
Позднее выберите файл iTunesMetadata.plist при подготовке к сборке IPA-файла в среде разработки.
Итоги
Статья описывает файл iTunesMetadata.plist, который используется для предоставления информации iTunes о распространяемом напрямую приложении iOS. Приведено описание стандартных ключей в файле plist, а также процесс создания и настройки файла в Visual Studio и Visual Studio для Mac.