Version: 2021.1
macOS Player: C++ source code plugins for IL2CPP
Apple TV

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 and select the Player category. Select the Standalone target, expand the Other Settings section 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 the Apple developer documentation on CFBundleIdentifier 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 the Apple developer documentation on CFBundleVersion to learn more.
Category Enter the string corresponding to the app’s type. The App Store uses this string to determine the appropriate categorization for the app. By default, this is set to the game category, public.app-category.games.

See the Apple developer documentation on LSApplicationCategoryType to see the list of category types available.
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.

Enable the Mac App Store Validation setting, then build your app (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>

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

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.

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.

Custom Icons

By default, Unity downsizes the icon image that you specified on the Icon panel of the Player settings (open Edit > Project Settings, then select the Player category) to generate an .icns file. This defines how your app’s icon appears in the macOS Finder and in the OS dock. However, you can replace it with a custom icon set if you want to.

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


  • 2017–05–18 Page published

  • Características actualizadas en 5.6

macOS Player: C++ source code plugins for IL2CPP
Apple TV