Version: 2019.4
macOS Player - IL2CPP用の C++ ソースコードプラグイン
Apple TV

Mac App Store へのアプリケーションの配信

ここでは、アプリケーションを Mac App Store へ配信する手順を説明します。

まず、キーチェーンに正しい 2 つのプロビジョニングプロファイル “3rd Party Mac Developer Application” と “3rd Party Mac Developer Installer” がインストールされていることを確認してください。この方法については、Apple の開発者のドキュメントで署名認証と証明書の管理 に関するセクションを参照してください。

Edit > Project Settings の順に移動し、Player カテゴリを選択します。Standalone (スタンドアロン) ターゲットを選択し、Other Settings セクションを展開し、Mac App Store Options に移動します。

Unity はこれらの設定を自動的に CF キーとしてアプリケーションの info.plist ファイルに適用します (詳しくは、Apple の開発者用ドキュメントの Core Foundation Keys を参照)。

Mac App Store Options
Mac App Store Options
プロパティー 機能
Bundle Identifier iTunesConnect AppのBundle IDを入力します。関連するinfo.plistファイルに CFBundleIdentifierとして表示されます。

アップルの開発者向けドキュメントCFBundleIdentifierを参照してください。 General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#/apple_ref/doc/uid/20001431–102070)を参照してください。
Build アプリケーションのこのバージョンのビルド番号を入力します。関連する info.plist ファイルに CFBundleVersion として表示されます。

詳しくは、Apple の開発者のドキュメントで CFBundleVersion]アプリケーションのこのバージョンのビルド番号を入力します。関連する info.plist ファイルに CFBundleVersion として表示されます。

詳しくは、[Apple の開発者のドキュメントで CFBundleVersion を参照してください。
Category アプリケーションのタイプに関連する文字列を入力します。App Store はこの文字列を使用して、アプリケーションの適切なカテゴリを決定します。デフォルトでは、ゲームカテゴリ public.app-category.games に設定されています。

使用可能なカテゴリのリストは、Apple の開発者のドキュメントのLSApplicationCategoryType を参照してください。
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>

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 -o runtime -f --deep -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"

Note: The -o runtime switch instructs the code sign to enable Hardened Runtime. This is a requirement for your app to pass verification for the App Store and Apple notary service since macOS 10.14.

インストーラー、または、パッケージをビルドします。これを行うには、macOS のターミナルで以下を入力します。

 productbuild --component GAMENAME.app /Applications --sign "3rd Party Mac Developer Installer: DEVELOPER NAME" GAMENAME.pkg

最後に、Xcode の ApplicationLoader を使ってアプリケーションを送信します。

Notarization

Notarization is the process that Apple uses to check for malicious components. It is an automated system, and is not an App Review.

The Apple developer documentation states:

“Beginning in macOS 10.14.5, software signed with a new Developer ID certificate and all new or updated kernel extensions must be notarized to run. Beginning in macOS 10.15, all software built after June 1, 2019, and distributed with Developer ID must be notarized. However, you aren’t required to notarize software that you distribute through the Mac App Store because the App Store submission process already includes equivalent security checks.”

For further information see Apple’s developer documentation on Notarizing macOS Software Before Distribution.

カスタムアイコン

デフォルトでは、Unity は Player 設定の Icon パネルで指定したアイコン画像を縮小し (Edit > Project Settings に移動し、Player カテゴリを選択)、.icns ファイルを生成します。これにより、Mac OS Finder と OS ドックにアプリケーションのアイコンがどのように表示されるかを定義します。ただし、必要に応じてカスタムアイコンに置き換えることができます。

  • フォルダーを作成して UnityPlayer.iconset (または info.plistCFBundleIconFile/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 Page published

  • 5.6 のアップデート機能

macOS Player - IL2CPP用の C++ ソースコードプラグイン
Apple TV