Version: 5.6
Apple Mac
WebGL

Entregando su aplicación al Mac App Store

Esta página describe el proceso de entrega de su aplicación a la Mac App Store.

En primer lugar, debe asegurarse de tener instalados los perfiles de aprovisionamiento correctos en su llavero: los perfiles de “3rd Party Mac Developer Application” y “3rd Party Mac Developer Installer”. Consulte la Documentación del desarrollador de Apple sobre el Mantenimiento de sus Identidades y Certificados de Firma para aprender cómo hacer esto.

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).

Opciones de la Mac App Store
Opciones de la Mac App Store
Property Function
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 Habilítelo para asegurarse de que su aplicación solo se ejecute cuando contenga un recibo válido de Mac App Store. Esto evita que las personas ejecuten el juego en un dispositivo diferente al que se compró. Solo desactive esta configuración si ha implementado su propia validación de recibos.

Marque la casilla de verificación Mac App Store Validation, luego cree su aplicación (File__> Build Settings … > Build__).

A continuación, debe crear un archivo GAMENAME.entitlements y guardarlo en cualquier ubicación. La forma más sencilla de hacerlo es crear una aplicación de Mac vacía. Para hacer esto, abra Xcode, cree un nuevo proyecto con una plantilla de macOS, vaya a la barra de Capabilities y habilite App Sandbox. Esto genera automáticamente un archivo .entitlements básico.


 <?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>

Nota: Unity no actualiza automáticamente el archivo *info.plist * en las versiones 5.5 y anteriores. En cambio, debe hacer esto manualmente. Consulte la sección Actualización manual, a continuación.

Abra el archivo info.plist en Xcode (o cualquier editor de texto) y agregue las siguientes llaves:

<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>

Si está utilizando Xcode8.0+, también necesita agregar estos campos al archivo info.plist:

<key>CFBundleSupportedPlatforms</key>

    <array>
    
        <string>MacOSX</string>
        
    </array>

A continuación, corrija los permisos de lectura en todo el contenido en .app. Para hacer esto, escriba lo siguiente en la Terminal macOS:

 chmod -R a+xr "/path/to/GAMENAME.app"

Firme la .App con los .entitlements que haya creado anteriormente. Para hacer esto, escriba lo siguiente en la Terminal macOS:

 codesign -f --deep -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"

Construya el instalador/paquete. Para hacer esto, escriba lo siguiente en la Terminal macOS:

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

Finalmente, use el Xcode ApplicationLoader para enviar su aplicación.

Adiciones opcionales

Actualización manual info.plist

Si usa una versión de Unity anterior a la 5.6, debe agregar el identificador de paquete y el string de versión manualmente, luego de compilar su aplicación.

Modifique las siguientes secciones del archivo info.plist para que sea adecuado para su aplicación:

<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>

Iconos personalizados

De forma predeterminada, Unity reduce el tamaño de la imagen del icono que ha especificado en Player Settings > Default Icons para generar un archivo .icns. Esto define cómo aparece el ícono de su aplicación en macOS Finder y en el dock de SO. Sin embargo, puede reemplazarlo con un conjunto de iconos personalizado si lo desea.

  • Cree una carpeta y asígnele el nombre UnityPlayer.iconset (o el nombre que se establezca en el campo CFBundleIconFile/Icon File de su archivo info.plist ) y coloque los siguientes nombres de imagen dentro. Tenga en cuenta que esta carpeta debe tener 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

Asegúrese de que las imágenes @2x.pngsean del doble del tamaño indicado en el nombre del archivo. Por ejemplo, la imagen512x512@2x.png` contiene una imagen que es 1024x1024. Desde el terminal de macOS, vaya al directorio donde se encuentra el directorio .iconset e ingrese el siguiente comando:

    iconutil -c icns UnityPlayer.iconset

Finalmente, haga clic con el botón derecho en el archivo .app y seleccione Show Contents y reemplace el iconset.icns con el que creó anteriormente.


Apple Mac
WebGL