Apple Mac
WebGL

Apple Mac ストアへのアプリケーション提出方法

  • 正しいプロビジョニングプロファイルがオーガナイザーにインストールされていることを確認。System Preferences -> Profiles からもプロビジョニングプロファイルを確認してください。

  • 高解像度のアイコンセットを作成。UnityPlayer.iconset (あるいは info.plist での表示設定)という名前のフォルダーを作成し、次の画像名を含めます。フォルダー名には .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 と名前がついた画像は書かれている大きさの 2 倍のサイズであることを意味します。つまり 512x512@2x の場合、1024x1024 画像で 144 dpi です。ターミナルから、.iconset ディレクトリが配置されているディレクトリに移動して次のコマンドを実行します。
    iconutil -c icns UnityPlayer.iconset
  • info.plist および GAMENAME.entitlements ファイルを作成します。もっとも簡単方法は http://macdownload.informer.com/unity-entitlements-tool/download/ を使用して生成します。Unity で生成された .app から info.plist を抽出して修正する方法もあります。基本的な GAMENAME.entitlements は次のとおりに表示され、Apple サンドボックスでアプリを実行できるようにします。iCloud 対応はしていません。
 <?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>
  • あなたのアプリケーションに適切なものにするために、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>
  • このキーを info.plist ファイルに加えます。
<key>LSApplicationCategoryType</key>
<string>{VALID APP CATEGORY, e.g.: public.app-category.kids-games }</string>
  if (Screen.fullScreen)
  {
      //MacBook Pro Retina 15: width = 2880 , MacBook Pro Retina 13: width = 2496 ?
      //could check device model name, but not sure now about retina 13 device model name
      //if last resolution is almost retina resolution...
      var resolutions : Resolution[] = Screen.resolutions;
      if (resolutions.length && resolutions[resolutions.length - 1].width > 2048)
      {
          Screen.fullScreen = false;
          yield;
          Screen.fullScreen = true;
          yield;
      }
  }
  • PlayerSettings で UseMacAppStoreValidation を有効化
  • Unity を実行し .app をビルド
  • iconset.icns をステップ 2 で作成した分で置き換えるため .app を右クリックして Show Contents を選択
  • (オプション) .app にある UnityPlayerIcon を自身のもので置き換え
  • .app の info.plist をステップ 2 で修正したものと置き換え
  • .app のすべてのコンテンツの読み取りパーミッションを修正。ターミナルの場合:
 chmod -R a+xr "/path/to/GAMENAME.app"
  • .App をステップ 3 で作成した Entitlments で署名します。ターミナルの場合:
 codesign -f --deep -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"
  • インストーラー/パッケージをビルド。ターミナルの場合:
 productbuild --component GAMENAME.app /Applications --sign "3rd Party Mac Developer Installer: DEVELOPER NAME" GAMENAME.pkg
  • Application Loader を使用して送信します。iTunesConnect の application_id が waiting for upload 状態であることを確認します。
Apple Mac
WebGL