Xamarin.iOS アプリの iTunesMetadata.plist ファイル
この記事では、テストまたはエンタープライズ展開のためのアドホックな配布を使って iOS アプリケーションに関する情報を iTunes に提供するために使われる iTunesMetadata.plist ファイルについて説明します。
iTunes App Store での販売または無料リリースのために iOS アプリケーションを iTunes Connect で作成するとき、開発者はアプリケーションのジャンル、サブジャンル、著作権の通知、サポートされている iOS デバイス、必要なデバイス機能などの情報を指定できます。 アドホック配布によってテスト担当者またはエンタープライズ ユーザーに配信される iOS アプリケーションの場合は、この情報はありません。
不足している情報をアドホック配布に提供するには、省略可能な iTunesMetadata.plist
ファイルを作成して、アプリケーションの IPA ファイルに含めることができます。 この plist ファイルは特殊な形式の XML ファイルであり (詳しくは Apple の「Property List Programming Guide」(プロパティ リスト プログラミング ガイド) をご覧ください)、特定の iOS アプリケーションに関する情報を定義するキー/値ペアが含まれます。
iTunesMetadata.plist の内容
アドホック配布用の iTunes 情報の定義に使われる一般的な iTunesMetadata.plist
ファイルの例を次に示します。
<?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 デバイスにインストールする前に、iOS アプリケーションに必要なデバイス固有機能を認識できます。 機能 (<key>...</key>
) の辞書 (<dict>...</dict>
) と各機能のブール値として提供されます。 機能の値が true
の場合、その機能は存在する必要があります。 false
の場合、その機能はデバイスに存在することはできません。 次に例を示します。
<key>UIRequiredDeviceCapabilities</key>
<dict>
<key>armv7</key>
<true/>
<key>front-facing-camera</key>
<true/>
</dict>
このアプリケーションをデバイスにインストールする前に、iOS デバイスが ARM7 命令をサポートし、前面カメラを持っている必要があることを指定します。 指定できる値の完全な一覧については、Apple のドキュメントで UIRequiredDeviceCapabilities をご覧ください。
artistName、playlistArtistName
artistName
および playlistArtistName
キーは、iTunes に表示される iOS アプリケーション作成会社の名前を定義するために使います。 例:
<key>artistName</key>
<string>Company, Inc.</string>
...
<key>playlistArtistName</key>
<string>Company, Inc.</string>
bundleDisplayName、itemName、playlistName
bundleDisplayName
、itemName
、playlistName
キーは、iTunes 内に表示される iOS アプリケーションの名前を定義するために使います。 例:
<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
キーは、iTunes に表示される iOS アプリケーションのバージョン番号を定義するために使います。 例:
<key>bundleShortVersionString</key>
<string>1.5.1</string>
<key>bundleVersion</key>
<string>1.5.1</string>
softwareVersionBundleId
softwareVersionBundleId
キーは、iOS アプリケーションのバンドル ID を指定するために使います。 例:
<key>softwareVersionBundleId</key>
<string>com.company.appid</string>
著作権
copyright
キーは、iTunes に表示される著作権の告知を定義するために使います。 例:
<key>copyright</key>
<string>© 2015 Company, Inc.</string>
releaseDate
releaseDate
キーは、iTunes に表示される iOS アプリケーションのリリース日を指定するために使います。 例:
<key>releaseDate</key>
<string>2015-11-18T03:23:10Z</string>
softwareIconNeedsShine
softwareIconNeedsShine
キーは、iOS 6 (およびそれより前) の場合に iOS アプリケーションのアイコンを "明るく強調する" 必要があるかどうかを iTunes に伝えるために使います。 例:
<key>softwareIconNeedsShine</key>
<false/>
gameCenterEnabled、gameCenterEverEnabled
gameCenterEnabled
および gameCenterEverEnabled
キーは、この iOS アプリケーションが Apple の Game Center をサポートしているかどうかを iTunes に伝えるために使います。 例:
<key>gameCenterEnabled</key>
<false/>
<key>gameCenterEverEnabled</key>
<false/>
genre、genreId、subgenres
genre
および genreId
キーは、iOS アプリケーションのジャンルを iTunes に伝えるために使います。 例:
<key>genre</key>
<string>Games</string>
<key>genreId</key>
<integer>6014</integer>
必要に応じて、subgenres
キーを使って iOS アプリケーションのサブジャンルを最大 2 個まで追加定義できます。 例:
<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>
iOS アプリケーションの場合、現在定義されているジャンルとジャンル ID は次のとおりです。
Genre ID | ジャンル名 |
---|---|
6000 | 事業 |
6001 | Weather |
6002 | ユーティリティ |
6003 | 移動 |
6004 | スポーツ |
6005 | ソーシャル ネットワーキング |
6006 | リファレンス |
6007 | 生産性 |
6008 | 写真/ビデオ |
6009 | ニュース |
6010 | ナビゲーション |
6011 | ミュージック |
6012 | ライフスタイル |
6013 | ヘルスケア/フィットネス |
6014 | ゲーム |
6015 | ファイナンス |
6016 | エンターテイメント |
6017 | 教育 |
6018 | 書籍 |
6020 | 医療 |
6021 | 雑誌・新聞 |
6022 | カタログ |
ゲーム (6014) のサブジャンル:
Genre ID | ジャンル名 |
---|---|
7001 | アクション |
7002 | Adventure |
7003 | アーケード |
7004 | Board |
7005 | Card |
7006 | カジノ |
7007 | さいころ |
7008 | 教育 |
7009 | 家族 |
7010 | 子供向け |
7011 | ミュージック |
7012 | Puzzle |
7013 | レーシング |
7014 | RPG |
7015 | シミュレーション |
7016 | スポーツ |
7017 | 戦略 |
7018 | Trivia |
7019 | Word |
雑誌・新聞 (6021) のサブジャンル:
Genre ID | ジャンル名 |
---|---|
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
キーは、この iOS アプリケーションがサポートしている iOS デバイスを iTunes に伝えるために使います。 例:
<key>softwareSupportedDeviceIds</key>
<array>
<integer>9</integer>
</array>
有効な値は次のとおりです。
- 1 – クラシック iPhone
- 2 – iPod Touch
- 4 – iPad
- 9 – 最新の iPhone
標準キー
以下のキーは、iOS アプリケーションのすべての iTunesMetadata.plist
ファイルに含まれ、常に同じ値に設定されます。
<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 ファイルの作成
Visual Studio for Mac で iTunesMetadata.plist
ファイルを操作する場合には、次の 2 つのオプションがあります。
- Visual Studio for Mac のビジュアル plist エディターを使ってファイルを作成および保守します。
- プレーン テキスト エディターでファイルを作成および保守します。
以下では両方のオプションについて詳しく説明します。
ビジュアル plist エディターを使う
次の操作を行います。
ソリューション エクスプローラーで Xamarin.iOS プロジェクト ファイルを右クリックし、[追加]>[新しいファイル...] の順に選びます。
[新しいファイル] ダイアログで、[iOS]>[プロパティ一覧] の順に選びます。
[名前] に「
iTunesMetadata
」と入力し、[新規] ボタンをクリックします。ソリューション エクスプローラーで
iTunesMetadata.plist
ファイルをダブルクリックして、編集用に開きます。緑色の +[] をクリックして新しいエントリを作成し、キー名として「
UIRequiredDeviceCapabilities
」と入力します。値の種類として [文字列] をクリックし、ポップアップ リストから [辞書] を選びます。
プロパティの名前の左側にある折り返しをクリックして、辞書のエントリを表示します。
[新しいエントリの追加] をクリックし、緑色の +[] をクリックして辞書にエントリを追加します。
キーの名前に「
armv7
」と入力し、種類として [ブール値] を選び、値として「Yes」を入力します。上記の手順を繰り返して、必要なすべてのキー/値ペアを
iTunesMetadata.plist
ファイルに設定します (詳しくは、前の「iTunesMetadata.plist の内容」をご覧ください)。変更内容を plist ファイルに保存します。
プレーン テキスト エディターを使う
次の操作を行います。
- プレーン テキスト エディターで新しいテキスト ファイルを作成し、
iTunesMetadata.plist
という名前にします。 - 前の「iTunesMetadata.plist の内容」セクションから内容の例をコピーします。
- ファイルに内容を貼り付け、必要に応じて編集します。
- ファイルを保存し、Visual Studio for Mac に戻ります。
- ソリューション エクスプローラーで Xamarin.iOS プロジェクト ファイルを右クリックし、[追加]>[既存のファイル...] の順に選びます。
- [ファイルを開く] ダイアログで、上で作成した
iTunesMetadata.plist
ファイルを選び、[OK] ボタンをクリックします。 - このファイルの [ビルド アクション] は [なし] のままにします。
その後、IDE で IPA のビルドを準備するときに、この iTunesMetadata.plist
ファイルを選びます。
まとめ
この記事では、アドホックに配信される iOS アプリケーションについて iTunes に伝えるために使うことができる iTunesMetadata.plist
ファイルについて説明しました。 plist ファイルの標準キーについて説明し、Visual Studio と Visual Studio for Mac. でファイルを作成して保守する方法について説明しました。