Version: 5.4
Apple Mac
WebGL

Como entregar una aplicación para la Mac Store de Apple

  • Asegúrate que tengas los perfiles correctos de aprovisionamiento instalados en Organiser. Verifica también el perfil de aprovisionamiento en System Preferences -> Profiles.

  • Crea conjuntos de íconos de alta resolución. Haz una carpeta llamada UnityPlayer.iconset (o la que esté configurada para mostrarse en info.plist) con los siguientes nombres de imagen dentro. Asegúrate que la carpeta tenga la extensión .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
  • Verifica que las imágenes @2x tengan como tamaño el doble de lo que dice en el nombre. Por ejemplo, 512x512@2x es en realidad una imagen de 1024x1024 con 144 dpi. Desde el Terminal, navega hacia donde esté el directorio .iconset y realiza esta operación.
    iconutil -c icns UnityPlayer.iconset
  • Cree dos archivos info.plist y GAMENAME.entitlements. Para hacer esto, extraiga el info.plist de la app generada por Unity y modifiquelo. El GAMENAME.entitlements más básico se ve algo así y se asegura que su app cora en el sandbox de Apple. Este no tiene soporte para 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>
  • Modifique las siguientes secciones del archivo info.plistpara hacerlo adecuado para su app:
<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>
  • Agregue esta key al archivo info.plist:
<key>LSApplicationCategoryType</key>
<string>{VALID APP CATEGORY, e.g.: public.app-category.kids-games }</string>
  • Haz ajustes para problemas de pantalla completa en Macbook Pro Retina (ver http://forum.unity3d.com/threads/145534-Mountain-Lion-MacBook-Pro-Retina-gt-problem-for-Unity-games](http://forum.unity3d.com/threads/145534-Mountain-Lion-MacBook-Pro-Retina-gt-problem-for-Unity-games)) agregando algo como lo siguiente. ¡Esto necesita ser llamado sólo una vez! Esto creará un parpadeo ya que entra y sale del modo de pantalla completa.
  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;
      }
  }
  • Habilita el botón de UseMacAppStoreValidation en PlayerSettings
  • Ejecuta Unity y construye el .app
  • Reemplaza iconset.icns con lo que creado en el Paso 2 dando clic derecho en el .app y escogiendo Show Contents
  • (Opcional) Reemplaza el UnityPlayerIcon en el .app por un ícono propio
  • Reemplaza el info.plist en el .app con el que fue modificado en el Paso 2.
  • Ajusta los permisos de lectura de todo el contenido del .app. Escribe en el Terminal:
 chmod -R a+xr "/path/to/GAMENAME.app"
  • Firma el .app con los entitlements creados en el Paso 3. Escribe en el Terminal:
 codesign -f --deep -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"
  • Construye el installer/pkg. Escribe en el Terminal:
 productbuild --component GAMENAME.app /Applications --sign "3rd Party Mac Developer Installer: DEVELOPER NAME" GAMENAME.pkg
  • ¡Haz el envío usando el ApplicationLoader! Asegúrate que tu application_id en iTunesConnect esté en el estado waiting for upload.
Apple Mac
WebGL