Guia del Hardware de iOS
iOS 2D Texture Overrides

iOS Player Settings

This page details the Player Settings specific to iOS. A description of the general Player Settings can be found here.

Note that Unity iOS requires 7.0 or higher. iOS 6.0 and earlier are no longer supported.

Resolution And Presentation

Propiedad: Función:
Identificación
Default Orientation (Este ajuste es compartido entre dispositivos iOS y Android)
Default Orientation The game’s screen orientation. The options are Portrait (home button at the bottom), Portrait Upside Down (home button at the top), Landscape Left (home button on the right side), Landscape Right (home button on the left side) and Auto Rotation (screen orientation changes with device orientation).
Use Animated Autorotation Should orientation changes animate the screen rotation rather than just switch? (Only visible when the Default Orientation is set to Auto Rotation.)
Orientaciones permitidas para Auto Rotation (Only visible when the Default Orientation is set to Auto Rotation.)
Portrait Allow portrait orientation.
Portrait Upside Down Allow portrait upside down orientation.
Landscape Right Allow landscape right orientation (ie, home button on the left side).
Landscape Left Allow landscape left orientation (home button is on the right side).
Multitaking Support
Requires Fullscreen Enable this if your game requires fullscreen.
Barra de Estado
Status Bar Hidden Especifica si la barra de estado está oculta inicialmente cuando la aplicación se inicia.
Status Bar Style Specifies the style of the status bar as the application launches. The options are Default, Black Translucent and Black Opaque.
Disable Depth and Stencil Check this box to disable the depth and stencil buffers.
Show Loading Indicator Select how the loading indicator be displayed. The options are Don’t Show, White Large, White, and Gray.

Icon

Propiedad: Función:
Override for iPhone Verifique si desea asignar un icono personalizado que desea utilizar para su juego de iPhone / iPad. Diferentes tamaños del icono deberán rellenar las casillas de abajo.
Prerendered icon Si está sin marcar, iOS aplica brillo y efectos de bisel al icono de la aplicación.

Splash Image

There are several ways to implement splash images on iOS: launch images and launch screens.

Launch images These are static splash screen images that occupies entire screen.

For devices that still use iOS 7 the only launch screen option is launch image. (There is no support for versions prior to iOS 7.0.) For devices that use iOS 8 or newer, there’s an option to use either launch image or launch screen.

Launch images are defined in an asset catalog (Images.xcassets/LaunchImage). We always add a launch screen for each supported size and orientation combination.

Only iPhone 6+ supports landscape orientation, the rest of iPhones can only use portrait. Launch are selected in this order:

  • the specific launch image override, if the texture is set
  • default unity launch image, which is solid blueish black color

The user is expected to set all launch images.

Launch screens A launch screen is an XIB file from which iOS creates a splash screen dynamically on the device.

Launch screens have a limitation, that it is not possible to display different contents depending on orientation on iPad devices. Therefore launch screens are only supported on iPhone devices.

All iPhones support landscape launch screens, however due to bug in iOS, landscape left is shown instead of landscape right on certain iOS versions.

Propiedad: Función:
Mobile Splash Screen Especifica la textura que se debe utilizar para el Splash Screen de iOS. El tamaño estándar de un Splash Screen es de 320x480.(Esto es compartido entre Android y iOS)
iPhone 3.5"/Retina Especifica la textura que se debe utilizar para el iOS 3.5" Retina Splash Screen. El tamaño de Splash Screen es de 640x960.
iPhone 4"/Retina Especifica la textura que se debe utilizar para iOS 4" Retina Splash Screen. El tamaño de Splash Screen es de 640x1136.
iPhone 4.7"/Retina Especifica la textura que se debe utilizar para iOS 4" Retina Splash Screen. El tamaño de Splash Screen es de 640x1136.
iPhone 5.5"/Retina Especifica la textura que se debe utilizar para el iOS 3.5" Retina Splash Screen. El tamaño de Splash Screen es de 640x960.
iPhone 5.5" Landscape/Retina Especifica la textura que se debe utilizar para el iOS 3.5" Retina Splash Screen. El tamaño de Splash Screen es de 640x960.
iPad Portrait Especifica la textura que se debe utilizar para la orientación vertical de Ipad Spash Screen. El tamaño estándar de Splash Screen es de 768x1024.
iPad Landscape Especifica la textura que se debe utilizar como orientación horizontal de Splash Screen de Ipad. El tamaño estándar de Splash Screen es de 1024x768.
iPad Portrait/Retina Especifica la textura que se debe utilizar como la alta alta resolución orientación vertical de Ipad Splash Screen. El tamaño estándar del Splash Screen es de 1536x2048.
iPad Landscape/Retina Especifica la textura que se debe utilizar para la alta definición orientación horizontal de Splash Screen de Ipad. El tamaño estándar de Splash Screen es de 2048x1536.
Launch Screen type Allows you to select between the launch screen types
- None The behavior is as if only launch images are used.
- Default A launch screen that is very much like a launch image. One image is selected for portrait and landscape. The selection order: iPhone 6+ launch images, shared mobile launch image, default unity launch image for iPhone 6+. The images are displayed using aspect-fill mode.
- Image with background, relative size A center-aligned image is shown, with the rest of area filled with solid color. The image size is user-specified percentage of the screen size, computed in the smaller dimension (vertical on landscape, horizontal in portrait orientations). User also specifies background color and images for portrait and landscape orientations. Image selection order: the user-specified image, shared mobile launch image, default unity launch image for iPhone 6+. The images are displayed using aspect-fill mode.
- Image with background, constant size Same as relative size option except that the size of the image is defined by user-specified number of points.
- Custom Xib An user-specified XIB file from any location.

In Unity Personal Edition the Unity Splash Screen displays as soon as engine initialises, in addition to your chosen splash screen. In Unity Personal Edition the Unity Splash Screen displays as soon as engine initialises, in addition to your chosen splash screen.

Debugging and Crash Reporting

Propiedad: Función:
Enable Internal Profiler Enables an internal profiler which collects performance data of the application and prints a report to the console. The report contains the number of milliseconds that it took for each Unity subsystem to execute on each frame. The data is averaged across 30 frames.
On .Net UnhandledException The action taken on .NET unhandled exception. The options are Crash (the application crashes hardly and forces iOS to generate a crash report that can be submitted to iTunes by app users and inspected by developers), Silent Exit (the application exits gracefully).
Log ObjC uncaught exceptions Enables a custom Objective-C Uncaught Exception handler, which will print exception information to console.
Enable Crash Report API Enables a custom crash reporter to capture crashes. Crash logs will be available to scripts via CrashReport API.

Other Settings

Propiedad: Función:
Renderización
Rendering Path The rendering path enabled for the game.
Automatic Graphics API Allows you to select which graphics API is used. When checked, Unity will include Metal, and GLES2 as a fallback for devices where Metal is not supported. When unchecked, you can manually pick and reorder the graphics APIs. Manually picking just one API will adjust your app’s info.plist which will result in appropriate app store restrictions.
Static Batching Set this to use Static batching on your build (enabled by default).
Dynamic Batching Set this to use Dynamic Batching on your build (enabled by default).
GPU Skinning Should DX11/ES3 GPU skinning be enabled?
Identificación
Bundle Identifier El string utilizado en su certificado de aprovisionamiento desde su cuenta de Apple Developer Network (Esto es compartido entre iOS y Android)
Bundle Version Especifica el número de versión de compilación del paquete, que identifica una iteración (publicada o inédita) del paquete. La versión se especifica en el formato común de un string que contiene los números separados por puntos (por ejemplo, 4.3.2).
Build The build number can be entered here to allow you to keep track of the number of builds that have been made
Configuración
Scripting Backend Allows you to select between IL2CPP and Mono2x scripting backends. The default is IL2CPP, and in most normal situations there should be no reason to switch to the older Mono2x backend. Unless you are running into bugs specifically relating to IL2CPP, you should not select Mono2x. Mono2x builds are no longer accepted in the App store.
Target Device Which devices are targeted by the game? The options are iPhone Only, iPad Only and iPhone + iPad.
Target SDK Which SDK is targeted by the game? The options are iPhone Only, Device SDK and Simulator SDK.
Target minimum iOS Version Defines the minimum version of iOS that the game will work on.
Use on Demand Resource When enabled allows you to use one demand resources.
Accelerometer Frequency How often is the accelerometer sampled? The options are Disabled (ie, no samples are taken), 15Hz, 30Hz, 60Hz and 100Hz.
Location Usage Description This field allows you to enter the reason for accessing the users location.
Override iPod Music Si se selecciona, la aplicación silenciará la música del iPod de usuario. De lo contrario, la música del iPod de usuario seguirá sonando en el fondo.
Prepare iOS for Recording When selected, the microphone recording APIs are initialised. This makes recording latency lower, though on iPhones it re-routes audio output via earphones only.
Requires Persistent WiFi Specifies whether the application requires a Wi-Fi connection. iOS maintains the active Wi-Fi connection while the application is running.
Behaviour in Background Especifica si la aplicación debe salir cuando se suspende a fondo en las versiones de IOS que soportan la multitarea.
- Suspend This is the standard behaviour, the app is suspended, but not quit.
- Exit Instead of suspending, the app will quit when the home button is pressed.
- Custom You can implement your own behaviour with background processing. See an example here.
Allow downloads over HTTP (nonsecure) When this option is enabled it will allow you to download content over HTTP. Default and reccomended is HTTPS.
Supported URL schemes A list of supported URL schemes.
Disable HW Statistics By default, Unity iOS apps send anonymous HW statistics to Unity so we can provide you with aggregated information to help you make decisions as a developer. These stats can be found at http://stats.unity3d.com/. Checking this option disables the sending of these statistics for your app.
Architecture Allows you to select which architecture to target. Universal is recommended default. Some apps that are shipping on high-end devices only might consider selecting the Arm64-only option. Armv7 is for consistency purposes.
- Universal The recommended option. Supports both architectures.
- Armv7 Support only the older Armv7 architecture.
- Arm64 Support only the newer Arm64 architecture.
Scripting Define Symbols Banderas de compilación personalizadas ( mire la página platform dependent compilation para más detalles).
Optimización
Api Compatibility Level Especifica el perfil API .NET activo
- .Net 2.0 Librerías .Net 2.0. Máxima compatibilidad .net, tamaño de los archivos más grandes
- .Net 2.0 Subset Subconjunto de completa compatibilidad .net, tamaños de archivo más pequeños
Prebake Collision Meshes Should collision data be added to meshes at build time?
Preload Shaders Should shaders be loaded when the player starts up?
Preloaded Assets An array of assets to be loaded when the player starts up.
Opciones adicionales de compilación AOT. Opciones adicionales de compilación AOT.
Resolución Especifica la versión iPhone OS SDK para usar para la construcción en Xcode
- Device SDK SDK para ejecutarse en hardware real.
- Simulator SDK SDK para que se ejecute sólo en el simulador.
Target iOS Version Specifies lowest iOS version where final application will able to run. Selecting a lower version will mean more devices will be able to run your app. Selecting a higher version means you gain access to features introduced in those higher versions, but users who have not upgraded their device will not be able to use the app. Selecing the ‘Unknown’ option allows you to pick one in your xcode project instead (in case there are newer/beta versions of iOS which have not yet been added to our list in the editor).
Strip Engine Code Enable code stripping. (This setting is only available with the IL2CPP scripting backend.)
###Optimización al Llamar Scripts Desactivando opcionalmente el manejo de excepciones para un aumento de velocidad en el tiempo de ejecución
- Slow and Safe El manejo completo de excepciones ocurrirá con cierta repercusión el rendimiento del dispositivo.
- Fast but no Exceptions No hay datos proporcionados para excepciones en el dispositivo, pero el juego se ejecutará más rápido
Vertex Compression Select which vertex channels should be compressed. Compression can save memory and bandwidth but precision will be lower.
Optimize Mesh Data Elimine todos los datos de meshes que no sean requeridas por el material aplicado a ellos(tangentes, normales, colores, UV).

Note: Be sure to select the correct SDK - if you select Device, say, but then target the Simulator in Xcode then the build will fail with a lot of error messages.

API Compatibility Level

Usted puede escoger su nivel mono de compatibilidad api para todos los objetivos excepto el reproductor web(webplayer). Algunas veces un .net dll tercero va usar cosas afuera del nivel de compatibilidad .net que usted quiera utilizar. Para entender qué esta pasando en dados casos, y cómo mejor solucionarlo, coja el “Reflector” en windows.

  1. Arrastre los montajes .net para el nivel de compatibilidad de la API en cuestión en el reflector. Usted puede encontrar estos en Frameworks/Mono/lib/mono/YOURSUBSET/
  2. También arrastre sus montajes de terceros.
  3. Haga click derecho en sus montajes de terceros, y seleccione “Analyze”.
  4. En el reporte de análisis, inspeccione la sección “Depends on”. Cualquier cosa que el montaje de tercero dependa de, pero no esté disponible en el nivel de compatibilidad .net de su preferencia va a ser subrayado en rojo.

Detalles

Bundle Identifier

El string Bundle Identifier debe cuadrar con el perfil provisional del juego que está construyendo. La estructura básica del identificador es com.CompanyName.GameName. Esta estructura puede variar internacionalmente basado en dónde usted viva, por lo que siempre siempre vaya al string por defecto dado a usted por Apple para su cuenta de desarrollador(Developer Account). Su GameName es establecido en sus certificados provisionales, que son administrables desde su la página web iPhone Developer Center. Por favor referirse al Apple iPhone Developer Center website para más información en cómo esto es hecho.

Stripping Level

La mayoría de los juegos no usan todos los necesarios dlls. Con esta opción usted puede despojar las partes no utilizadas para reducir el tamaño del reproductor integrado en los dispositivos iOS. Si tu juego está utilizando clases que normalmente serían despojadas por la opción que ha seleccionado actualmente, se le presentará con un mensaje de depuración cuando usted haga una construcción.

Optimización al Llamar Scripts

Una buena practica de desarrollo en iOS es nunca depender del manejo de excepciones (ya sea internamente o a través del uso de bloques try / catch). Cuando use la opción predeterminada Slow and Safe, cualquier excepción que ocurra en el dispositivo va a ser atrapada y se proporcionará un stack trace. Cuando use la opción Fast but no Exceptions, cualquier excepción que ocurra va a bloquear el juego, y ningún stack trace se proporcionará. No obstante, el juego va a correr más rápido ya que el procesador no está desviando el poder para manejar excepciones. Cuando lance su juego al mundo, es mejor publicarlo con la opción Fast but no Exceptions.

Incremental Builds

The C++ code generated by the IL2CPP scripting backend can be updated incrementally, allowing incremental C++ build systems to compile only the changes source files. This can significantly lower iteration times with the IL2CPP scripting backend.

To use incremental builds, choose the “Append” option after selecting “Build” from the “Build Settings” dialog. The “Replace” option will perform a clean build.

Guia del Hardware de iOS
iOS 2D Texture Overrides