ここでは、アプリケーションを Mac App Store へ配信する手順を説明します。
まず、キーチェーンに正しい 2 つのプロビジョニングプロファイル “3rd Party Mac Developer Application” と “3rd Party Mac Developer Installer” がインストールされていることを確認してください。この方法については、Apple の開発者のドキュメントで署名認証と証明書の管理 に関するセクションを参照してください。
Go to Edit > Project Settings > Player. Open the Other Settings tab and navigate to Mac App Store Options. Unity automatically applies these settings to your app’s info.plist file as CF keys (see Apple’s developer documentation on Core Foundation Keys to learn more).
プロパティー | 機能 |
---|---|
Bundle Identifier | Enter the Bundle Identifier of your iTunesConnect App. This appears as CFBundleIdentifier in the associated info.plist file.See Apple developer documentation on CFBundleIdentifier to learn more. |
Version* | Enter your application bundle version (for example 1.0, 2.0). This appears as CFBundleShortVersionString in the associated info.plist file. See Apple developer documentation on CFBundleShortVersionString to learn more. |
Build | Enter the build number for this version of your app. This appears as CFBundleVersion in the associated info.plist file.See Apple developer documentation on CFBundleVersion to learn more. |
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 のアップデート機能