Introducción al simulador de IOS.

El simulador es una de las herramientas fundamentales en el desarrollo de cualquier aplicación móvil. Nos permite una forma rápida de probar la mayoría de funcionalidades en diferentes dispositivos con diferentes características: iPhone, iPad, etc. 

En este apartado recogemos un conjunto de soluciones para muchas de las dudas que es difícil encontrar en la documentación oficial de Apple sobre el simulador. Por tanto, además de lo que aquí se expone, es igualmente recomendable consultar la documentación oficial.

https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/iOS_Simulator_Guide/Introduction/Introduction.html

3.1 ¿Cómo cerrar aplicaciones?

Para activar el modo de cierre de aplicaciones se debe pulsar (cmd + shift + H)  y se debe pulsar dos veces la H.

modo_cerrar_aplicaciones.png

3.2 Sistema de ficheros

El sistema de ficheros se mapea en el sistema de ficheros del Mac dentro de una estructura de directorios. Resulta muy útil acceder directamente a esta estructura para comprobar los ficheros grabados por una aplicación, cambiar ficheros de forma manual, etc. En el simulador la zona de ficheros no se encuentra encriptada. Recordemos que en los dispositivos desde la versión iOS 9 el sistema de ficheros sí se encuentra encriptado por defecto.

Cada modelo de dispositivo se almacena dentro de un identificador de dispositivo diferente, en este caso el iPhone 5S equivale a 78861B99-605D-4AD0-8D4C-EDDEEEB42C7E. Estos identificadores de dispositivo varían en cada Mac.

/Users/<username>/Library/Developer/CoreSimulator/Devices/78861B99-605D-4AD0-8D4C-EDDEEEB42C7E/

Después sigue el path común en donde se encuentra la zona de documentos de cada aplicación

data/Containers/Data/Application/

Finalmente cada aplicación tiene un identificador único y en el siguiente path se encuentra la base del área de documentos:

7FE0BBE9-1502-47AA-83BA-3923B98A1AD0/Library/Application Support

El path final a la zona de documentos de una aplicación concreta es esta.
/Users/<username>/Library/Developer/CoreSimulator/Devices/78861B99-605D-4AD0-8D4C-EDDEEEB42C7E/data/Containers/Data/Application/7FE0BBE9-1502-47AA-83BA-3923B98A1AD0/Library/Application Support

zona_deF_cicheros.png

3.3 Depositar imágenes para que estén disponibles en el carrete

Simplemente arrastrar una imagen desde nuestro Mac sobre el Camera Roll abierto en el simulador.

camera_roll.png

3.4 Red

El simulador usa la interfaz de red de nuestro Mac. Esto nos proporciona un mecanismo muy sencillo para acceder a servidores locales de nuestra organización. Debemos asociar una dirección IP a nuestro servidor local dentro del fichero hosts de nuestro Mac. El simulador usará esta resolución de nombres local y también podrá acceder al servidor.
El fichero hosts se encuentra en la ruta:
/private/etc/hosts

3.5 Capturas de pantalla

Las capturas de pantalla se realizan pulsando (cmd + S) o desde el menú File.
Es importante recalcar que las capturas se realizan con el nivel de zoom en el que se encuentra el simulador. Para que las capturas nos sirvan para dar de alta la aplicación en la Apple Store es necesario que el nivel de zoom sea 100% (menú window/scale/100%). De esta forma el tamaño de la pantalla coincide con el tamaño del dispositivo físico.

3.6 Simulación de posición GPS

Desde el menú Debug/Location se pueden fijar unas coordenadas geográficas determinadas.

3.7 Rotaciones del dispositivo

Desde el menú Hardware tenemos acceso a Rotate Left y Rotate Right. Seleccionar estas opciones provoca la rotación del emulador de forma inmediata.

rotate_device.png

No debemos confundir esto con tener información detallada de los grados de rotación en los ejes X,Y y Z proporcionados por el acelerómetro y el giroscopio. Esta información no está disponible desde el simulador.

3.8 Simulación de gestos (gestures): zoom, rotación

Para simular las gestures debemos pulsar la tecla alt sobre el simulador. En ese momento aparecen unos manipuladores en forma circular que nos permitirán simular los gestos con movimientos del ratón.

captura_images.png

3.9 Uso de iCloud

iCloud se puede usar desde el simulador. Solo tenemos que configurar la cuenta desde el interior del simulador de la misma forma que lo haríamos en el dispositivo físico.

icloud_sim.png

3.10 Crear un simulador con una versión antigua de iOS

Dentro de Xcode en el menú Xcode/Preferences…/Downloads aparecen las versiones de iOS que se pueden descargar desde Apple. Solo aparecen aquellas versiones a las que Apple sigue dando soporte.

iOSversions.png

Una vez descargada la versión vamos al menú de Xcode Windows/Devices.

simulator.png

Pulsamos en el botón add situado en la parte inferior y seleccionamos “Add Simulator”. Seleccionamos la versión de iOS 8.4 que acabamos de descargar.

new_simulator.png

3.11 Limitaciones del simulador

Las limitaciones más importantes del simulador iOS son las siguientes:

  • Recepción de notificaciones remotas (Push notifications).
  • El simulador no puede simular las cámaras y el micrófono del dispositivo. 
  • Sensores de movimiento (acelerómetro y giroscopio). 
  • Sensor de proximidad.
  • Barómetro.
  • Sensor de luz ambiente.
  • Brújula.

Estas capacidades deben probarse usando directamente el dispositivo físico.

3.12 Rendimiento

El rendimiento de la aplicación en la parte relacionada con interfaces complejas, uso de imágenes de gran tamaño, vídeo o utilización de la librería gráfica OpenGL, precisa de una revisión final en el dispositivo.