ここでは、アプリケーションを Mac App Store へ配信する手順を説明します。
まず、キーチェーンに正しい 2 つのプロビジョニングプロファイル「3rd Party Mac Developer Application」と「3rd Party Mac Developer Installer」がインストールされていることを確認してください。この方法については、Apple の開発者のドキュメントで署名認証と証明書の管理 に関するセクションを参照してください。
Edit > Project Settings > Player に移動します。 Other Settings タブを開き Mac App Store Options に移動します。 Unity は、これらの設定を自動的に CF キーとしてアプリケーションの info.plist ファイルに適用します (詳しくは、Apple の開発者のドキュメントで Core Foundation Keys を参照してください)。
プロパティー | 機能 |
---|---|
Bundle Identifier | iTunesConnect アプリケーションの Bundle ID を入力します。 関連する info.plist ファイルに CFBundleIdentifier として表示されます。詳しくは、Apple の開発者のドキュメントで CFBundleIdentifier を参照してください。 |
Version* | アプリケーションのバンドルバージョン (例えば 1.0、2.0) を入力します。関連する info.plist ファイルに CFBundleShortVersionString として表示されます。詳しくは、Apple の開発者のドキュメントで CFBundleShortVersionString を参照してください。 |
Build | アプリケーションのこのバージョンのビルド番号を入力します。関連する info.plist ファイルに CFBundleVersion として表示されます。詳しくは、Apple の開発者のドキュメントで CFBundleVersion を参照してください。 |
Mac App Store Validation | これを有効にすると、Mac App Store からの有効な証明書がある場合にのみアプリケーションが実行されます。これにより、アプリケーションを購入したデバイスとは異なるデバイスで実行することができなくなります。独自の証明書の検証を実装している場合にのみ、この設定を無効にしてください。 |
Mac App Store Validation をチェックしてから、アプリケーションをビルドします (File > Build Settings… > Build)。
次に、GAMENAME.entitlements
ファイルを作成し、それを任意の場所に保存します。最も簡単な方法は、空の Mac アプリケーションを作成することです。これを行うには、Xcode を開き、macOS テンプレートを使用して新しいプロジェクトを作成し、Capabilities バーに移動して App Sandbox を有効にします。これにより、基本的な .entitlements ファイルが自動的に生成されます。
<?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>com.apple.security.app-sandbox</key> <true/>
</dict>
</plist>
ノート Unity はバージョン 5.5 以前では info.plist ファイルを自動的に更新しません。そのため、手動で行う必要があります。下記の 手動での更新 セクションを参照してください。
Xcode (または、任意のテキストエディター) で info.plist ファイルを開き、以下のキーを加えます。
<key>LSApplicationCategoryType</key>
<string>{VALID APP CATEGORY, e.g.: public.app-category.kids-games }</string>
<key>CFBundleSignature</key>
<string>{4 LETTER CREATOR CODE, e. g.: GMAD }</string>
Xcode 8.0 以降を使用している場合は、これらを info.plist ファイルにも加える必要があります。
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
次に、.app ですべてのコンテンツの読み込み権限を修正します。これを行うには、macOS のターミナルで以下を入力します。
chmod -R a+xr "/path/to/GAMENAME.app"
先に作成した .entitlements で .App に署名します。これを行うには、macOS のターミナルで以下を入力します。
codesign -f --deep -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"
インストーラー、または、パッケージをビルドします。これを行うには、macOS のターミナルで以下を入力します。
productbuild --component GAMENAME.app /Applications --sign "3rd Party Mac Developer Installer: DEVELOPER NAME" GAMENAME.pkg
最後に、Xcode の ApplicationLoader を使ってアプリケーションを送信します。
5.6 より古い Unity バージョンを使用している場合は、アプリケーションをビルドした後でバンドル識別子とバージョン文字列を手動で追加する必要があります。
info.plist
ファイルの以下のセクションを変更して、アプリに適したものにします。
<key>CFBundleDevelopmentRegion</key>
<string>{YOUR REGION}</string>
<key>CFBundleGetInfoString</key>
<string>{DESCRIPTIVE INFO}</string>
<key>CFBundleIdentifier</key>
<string>com.{YOUR COMANY}.{YOUR APP NAME}</string>
<key>CFBundleName</key>
<string>{YOUR APP NAME}</string>
<key>CFBundleShortVersionString</key>
<string>{VERSION NUMBER, e.g. 1.0.0}</string>
<key>CFBundleSignature</key>
<string>{4 LETTER CREATOR CODE, e. g.: GMAD }</string>
<key>CFBundleVersion</key>
<string>{VERSION NUMBER, e.g. 100}</string>
デフォルトでは、Unity は、Player Settings > Default Icons で指定したアイコン画像を縮小して .icns ファイルを生成します。これによって、アプリのアイコンが macOS Finder と OS ドックにどのように表示されるかが決まります。ただし、必要に応じてカスタムのアイコンセットに置き換えることができます。
CFBundleIconFile/Icon File
フィールドに設定されている名前) と名付け、以下の画像名を内部に置きます。このフォルダーには .iconset 拡張子が必要です。 icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png
@ 2x.png
画像はファイル名で示されているサイズの 2 倍の大きさであることを確認してください。たとえば、画像 ’512x512 @ 2x.png` は、1024x1024 の画像です。macOS ターミナルから、.iconset ディレクトリがあるディレクトリに移動し、以下のコマンドを入力します。
iconutil -c icns UnityPlayer.iconset
最後に.app ファイルを右クリックし Show Contents を選択し、iconset.icns を以前に作成したものと置き換えます。
2017–05–18 編集レビュー を行ってパブリッシュされたページ
5.6 のアップデート機能