El simulador de Xcode es una de las herramientas más utilizadas por los desarrolladores. Ejecutar y probar apps en el simulador se ha convertido en parte de la rutina diaria de todo desarrollador. Familiarizarse con las distintas opciones del simulador es vital para cualquier desarrollador. ¿Sabías que también puedes crear y configurar simuladores desde la línea de comandos? En este tutorial, aprenderás:
- Qué es un simulador
- Conoce las opciones útiles del simulador
- A crear y configurar simuladores desde la línea de comandos
- A transmitir y capturar registros usando la línea de comandos
- A crear un script Bash para automatizar el lanzamiento de la app en un simulador en diferentes locales.
Cómo empezar
Descarga el proyecto haciendo clic en el botón Descargar materiales en la parte superior o inferior de esta página. Abre el proyecto RayWonders. Construye y ejecuta.
Esta aplicación tiene dos pestañas – Foto y Mapa. La pestaña Foto muestra fotos de las maravillas del mundo. Al tocar una foto se muestra una vista detallada de su descripción. La pestaña Mapa muestra las fotos de las maravillas del mundo como anotaciones en un mapa. Este es uno de los raros tutoriales de raywenderlich.com en los que no vas a modificar el proyecto. En su lugar, utilizarás esta aplicación como base para aprender las distintas opciones del simulador. Antes de embarcarte en tu vuelta al mundo, tendrás que entender qué es un simulador.
¿Qué es un simulador?
El simulador es una gran herramienta para simular iOS, iPadOS, tvOS y watchOS en el Mac. Ayuda a la creación rápida de prototipos y a la realización de pruebas de construcción mediante la simulación de diferentes dispositivos. A un nivel más técnico, un simulador es un espacio de usuario separado que se ejecuta en el kernel de macOS.
El espacio de usuario es la memoria del sistema asignada para ejecutar aplicaciones, mientras que el espacio del kernel es la memoria del sistema asignada para ejecutar el kernel del sistema operativo y los controladores de dispositivos. El lanzamiento de un nuevo simulador crea un espacio de usuario separado.
El kernel es un componente central del SO. Facilita las interacciones entre los componentes de hardware y software. Es responsable de la gestión del hardware, la asignación de memoria y el arbitraje entre los procesos.
Uno de esos procesos – Daemon – se ejecuta en segundo plano. launchd, cfprefsd, distnoted son algunos de los daemons del sistema.
¿Es lo mismo ejecutar una aplicación en un dispositivo y en un simulador? Lo aprenderás a continuación.
Ejecutar una app en un dispositivo frente a un simulador
Probar apps en un simulador es muy práctico. Sin embargo, hay algunas diferencias clave entre ejecutar apps en un dispositivo y en un simulador.
Rendimiento informático
Los simuladores comparten los mismos recursos informáticos con el Mac. Esto incluye la memoria, la CPU y la conexión de red. En cambio, los dispositivos físicos tienen menos memoria y potencia de cálculo en comparación con un Mac. Además, la red puede ser una bestia imprevisible en el dispositivo físico.
Pantalla
La resolución y la gama de colores de un Mac y del dispositivo físico pueden diferir, lo que hace que las imágenes y el texto aparezcan irregulares. Aprenderá a simular el tamaño exacto del dispositivo físico más adelante en este tutorial.
Limitaciones del hardware
Algunos componentes de hardware no son compatibles con un simulador. Estos incluyen:
- Bluetooth
- Cámara
- Sensores de movimiento como acelerómetro y giroscopio
- Sensor de proximidad
Limitaciones de frameworks
Unos pocos frameworks no son soportados en simulador. Entre ellos se encuentran:
- ARKit
- HomeKit
- IOSurface
- MessageUI
Para una lista más exhaustiva de todas las diferencias, consulta la documentación seleccionando Ayuda ▸ Ayuda del simulador en el menú Simulador.
A continuación, aprenderá a organizar los simuladores.
Organización de simuladores mediante Xcode
Xcode se envía con un conjunto de simuladores por defecto. Para ver una lista de estos simuladores, siga estos pasos:
- Abra Xcode.
- Seleccione la opción de menú Ventana.
- Elija el menú Dispositivos y simuladores.
- Selecciona la pestaña Simuladores.
- Presiona el botón + en la parte inferior izquierda.
- Configura el nombre del simulador como Demo.
- Selecciona iPhone 12 Pro como tipo de dispositivo.
- Seleccione iOS 14.2 como la versión del sistema operativo.
- Pulse Crear.
- Seleccione Archivo ▸ Nuevo simulador en el menú Simulador.
- Introducir Demo como nombre del simulador.
- Seleccionar iPhone 12 Pro como Tipo de dispositivo.
- Seleccionar iOS 14.2 como versión.
- Hacer clic en Crear.
- Abra el simulador siguiendo estos pasos:
- Seleccione Archivo ▸ Abrir simulador en el menú.
- Seleccione el tiempo de ejecución de iOS 14.2.
- Elige el simulador Demo.
- Abre RayWonders en el simulador de la Demo.
- Toca el icono de la campana en la parte superior derecha en la pestaña Fotos.
- Selecciona Permitir en el aviso de permiso de notificaciones.
- Selecciona Dispositivo ▸ Inicio en el menú del simulador para poner la app en segundo plano.
- Abre RayWonders en el simulador y cambia a la pestaña Mapa.
- Toca el botón Iniciar servicios de localización en la pestaña Mapa.
- Seleccione el permiso Permitir mientras se usa la aplicación.
- Seleccione Características ▸ Ubicación ▸ Ubicación personalizada en el menú del simulador.
- Ingresa 41,8902142 como latitud y 12,4900422 como longitud.
- Haz clic en Aceptar.
- Abre la app de Mapas.
- Ingresa Machu Picchu en el texto de búsqueda.
- Pulsa el botón Compartir junto al campo de búsqueda.
- Elige Simulador en el desplegable.
- En el aviso de ubicación, selecciona Demo como simulador.
- Pulsa Enviar.
Esto lanza el simulador Demo.
¡Eso fue rápido y fácil! A continuación, conocerá las distintas opciones de tamaño del simulador.
Comparación de las opciones de tamaño del simulador
Puede cambiar el tamaño de un simulador haciendo clic y arrastrando desde una de las cuatro esquinas. Las opciones del menú Ventana ofrecen cuatro opciones de escala.
Tamaño físico
El tamaño físico redimensiona el simulador para que coincida con el tamaño real del dispositivo. Esto permite visualizar cómo se ve tu aplicación en diferentes tamaños de pantalla.
Punto exacto
El modo punto exacto dimensiona la ventana para que el contenido tenga el mismo tamaño en dispositivos con diferentes factores de escala. Como resultado, una imagen en un dispositivo con una pantalla de 3x aparece con el mismo tamaño que una pantalla de 2x.
Pixel Accurate
En este modo, el tamaño de la ventana cambia al mismo número de píxeles que el dispositivo físico. Cada píxel del dispositivo simulado se asigna a un píxel en la pantalla de su Mac. Esto hace que los simuladores aparezcan más grandes en la pantalla si la pantalla de su Mac tiene una densidad de píxeles inferior a la del dispositivo simulado. Puedes utilizar este modo para comprobar la alineación de las imágenes y los controles de tu app.
Ajuste de pantalla
Esto redimensiona el simulador al tamaño de la pantalla de tu Mac.
A continuación, aprenderás las distintas opciones que ofrece un simulador.
Animaciones lentas
Las animaciones son una parte integral de la experiencia de una app. Construye y ejecuta RayWonders en el simulador de demostración.
Toca la pestaña Fotos. A continuación, toca una foto de una de las maravillas del mundo para presentar una vista de detalles sobre el lugar. Desecha la vista deslizándola hacia abajo.
Para simular animaciones lentas, selecciona la opción Depuración ▸ Animaciones lentas en el menú Simulador.
Toca de nuevo la imagen. La vista ahora se anima lentamente.
Ver las animaciones lentamente puede ayudar a aportar claridad. Además, puede ayudar a examinar los problemas de renderización y rendimiento.
A continuación, aprenderás a simular el modo oscuro. Antes de continuar, desactive las animaciones lentas anulando la selección de la opción de menú Depuración ▸ Animaciones lentas.
Modo oscuro
El modo oscuro proporciona una gran experiencia de visualización en entornos con poca luz. El simulador proporciona una opción para ver tu aplicación en Modo Oscuro.
Selecciona Características ▸ Alternar apariencia. Esto cambia la apariencia al modo oscuro. Ahora, toca la pestaña Mapa en RayWonders.
Notarás que el mapa ha cambiado a una apariencia oscura. Es fácil, ¿verdad? Esta es una forma práctica de probar tu aplicación en Modo Oscuro.
Para volver a cambiar la apariencia a la predeterminada, deselecciona Características ▸ Alternar apariencia. Para aprender a soportar el Modo Oscuro, revisa Supporting Dark Mode: Adapting You App to Support Dark Mode tutorial.
A continuación, aprenderás a simular las notificaciones push!
Simulando las notificaciones push
Las notificaciones push son una gran manera de informar a tus usuarios de las nuevas actualizaciones de contenido en tu app. En el pasado, probar las notificaciones push era un reto. Necesitabas un dispositivo físico para probar las notificaciones push. A partir de Xcode 11.4, puedes simular las notificaciones push en un simulador.
Crea un archivo llamado RayWondersPushNotification.apns utilizando lo siguiente:
{ "Simulator Target Bundle": "com.raywenderlich.RayWonders", "aps": { "alert": { "title": "Hindi language support added!", "body": "Checkout RayWonders in Hindi!" } }}
Este es un payload de notificación push simple y visible con un
title
y unbody
. ElSimulator Target Bundle
es una clave especial. Especifica el ID del bundle de la app que debe recibir la notificación.Antes de probar el payload, debes conceder primero el permiso de notificación en la app.
Sigue estos pasos:
A continuación, arrastra y suelta el archivo RayWondersPushNotification.apns en el simulador de la Demo.
¡Ta-da! Aparece una notificación push visible. ¡Eso ha sido fácil! Ten en cuenta que un simulador sólo puede simular una notificación push. Para probar una notificación push real recibida desde el servidor de notificaciones push de Apple se necesita un dispositivo físico.
Para conocer más a fondo las notificaciones push, lee este Tutorial de notificaciones push: Primeros pasos.
A continuación, aprenderá a hacer zoom.
Acercarse y alejarse
Abra RayWonders en el simulador. Cambie a la pestaña de Mapa. El mapa está centrado y ampliado en una maravilla del mundo. ¿Dónde están las otras maravillas del mundo?
Tendrás que alejar el zoom para ver la vista del mundo. Haz clic y arrastra mientras mantienes pulsada la tecla Opción.
Hacer clic y arrastrar está muy bien, pero pronto puede cansar. A continuación, aprenderás una forma más rápida de ir a una ubicación.
Simular una ubicación
El simulador proporciona una forma fácil de simular una ubicación. En primer lugar, necesitas conceder permisos de localización en RayWonders.
Sigue estos pasos:
Ahora, para simular la ubicación:
Esto te lleva directamente al Coliseo en el mapa: ¡tu viaje más rápido!
Sin embargo, introducir las coordenadas de cada lugar a simular es una tarea que requiere mucha memoria -tu memoria, claro-. A continuación, aprenderás una solución más sencilla para este problema.
Compartir ubicaciones desde la app de Mapas
La app de Mapas en macOS ofrece una forma sencilla de compartir ubicaciones con tu simulador.
Sigue estos pasos:
Ahora estás en Machu Picchu en la vista de mapa del simulador.
¡Felicidades! ¡Acabas de crear un récord mundial como el viajero más rápido desde el Coliseo a Machu Picchu! :]
Para aprender a manejar la ubicación en tu app con más profundidad, consulta MapKit y Core Location.
Ahora, es el momento de agitar las cosas.
Simulando gestos de agitación
Los gestos de agitación son grandes señales para incitar al usuario a dar feedback en una app. Pero, ¿cómo se puede agitar un simulador? Afortunadamente, agitar el Mac rigurosamente no es la solución. El simulador proporciona una manera fácil.
Abre RayWonders en el simulador de la Demo. Seleccione Dispositivo ▸ Agitar en el menú del Simulador.
Esto simula un gesto de agitación.
RayWonders detecta la agitación y solicita una alerta al usuario. Puedes detectar y manejar los gestos de agitación en tu app implementando el método
motionEnded(_:with:)
. Para saber más, consulta la documentación de Apple.A continuación, aprenderás a simular una advertencia de memoria.
Simular una advertencia de memoria
iOS envía una advertencia a la app cuando su uso de memoria se acerca al límite superior del dispositivo. La app tiene que responder purgando los datos de la caché, que se pueden volver a crear más tarde.
Abre RayWonders en el simulador de la Demo. Selecciona Debug ▸ Simular advertencia de memoria en el menú.
Esto simula una advertencia de memoria.
RayWonders muestra una alerta. Puede aprender más sobre el manejo de las advertencias de memoria en esta documentación de Apple sobre la respuesta a las advertencias de memoria.
Hasta ahora, ha visto algunas opciones útiles del simulador. Hay varias otras que no están cubiertas en este tutorial. Deberías comprobarlas, dependiendo de las necesidades de tu app. Algunas de estas opciones son:
- Simular la sincronización de iCloud utilizando Funciones ▸ Activar la sincronización de iCloud.
- Simular la autorización de Apple Pay utilizando Funciones ▸ Autorizar Apple Pay.
- Activar Siri utilizando Dispositivo ▸ Siri.
- Comprobar el registro del sistema utilizando Depuración ▸ Abrir registro del sistema.
A continuación, aprenderás a interactuar con los simuladores utilizando la línea de comandos.
Organizar simuladores utilizando la línea de comandos
Hasta ahora, has creado y gestionado simuladores utilizando Xcode. Además, también has aprendido las distintas opciones del menú del Simulador. Ahora, aprenderá a gestionar y utilizar los simuladores desde la línea de comandos.
Abra el Terminal. Introduce el siguiente comando:
xcrun simctl --help
y pulsa Enter.
La opción de ayuda proporciona la lista de todos los subcomandos disponibles utilizando simctl.
Simctl es una herramienta que ayuda a gestionar y a interactuar de forma programada con el simulador. Puede acceder a simctl utilizando la herramienta de línea de comandos xcrun.
Ahora, explorará varios de estos subcomandos. Ejecuta lo siguiente:
xcrun simctl list
El comando list muestra la lista de todos los dispositivos disponibles y los tiempos de ejecución.
También muestra el estado actual de los dispositivos, si es Booted o Shutdown.
A continuación, aprenderás a crear y lanzar un simulador desde la línea de comandos.
Crear simulador desde la línea de comandos
Antes de crear un nuevo simulador, borra el simulador Demo creado a través de Xcode. Introduce lo siguiente:
xcrun simctl delete Demo
El comando delete identifica un simulador y lo borra. Ahora, crea un nuevo simulador desde la línea de comandos.
Introduce lo siguiente:
xcrun simctl create Demo "iPhone 12 Pro" "iOS14.2"
El comando crear toma un tipo de dispositivo y un tiempo de ejecución y crea un simulador. Esto crea un simulador de iPhone 12 Pro con tiempo de ejecución de iOS 14.2.
Ahora, el Terminal muestra el identificador único del nuevo dispositivo.
Introduce lo siguiente:
xcrun simctl boot Demo
El inicia el simulador Demo. Por defecto, está en el estado Shutdown.
Ahora, instala RayWonders usando la línea de comandos. Primero necesitarás el paquete de aplicaciones. Sigue estos pasos:
- Abre el navegador de proyectos y selecciona RayWonders.app, situada en la carpeta Productos.
- Haz clic con el botón derecho y selecciona Mostrar en el Finder.
- Copia RayWonders a tu directorio de inicio.
Abre el Terminal y navega al directorio de inicio introduciendo lo siguiente:
cd ~
A continuación, ejecuta lo siguiente:
xcrun simctl install Demo RayWonders.app
El comando
install
instala RayWonders en el simulador. Gran trabajo!Incluso puedes lanzar la aplicación usando simctl. Introduce lo siguiente:
xcrun simctl launch Demo com.raywenderlich.RayWonders
El comando launch toma el ID del bundle de la app como parámetro. RayWonders se lanza en el simulador Demo.
¡Felicidades! Ahora has creado, arrancado, instalado y lanzado un simulador desde la línea de comandos. Aquí hay algunas otras opciones que puede probar:
- Terminar: Esto termina una aplicación utilizando el identificador del paquete.
- Borrar: Esto borra el contenido del dispositivo.
- Desinstalar: Esto desinstala la aplicación. Tendrás que especificar el identificador del bundle de la aplicación.
A continuación, aprenderás algunos comandos interesantes que están disponibles para tu aplicación.
Hacer capturas de pantalla
Las capturas de pantalla de tu aplicación pueden ser útiles en varios escenarios. Por ejemplo, necesitarás capturas de pantalla cuando envíes tu aplicación a la AppStore.
Introduce el siguiente comando:
xcrun simctl io Demo screenshot screenshot.png --type="png"
Esto toma una captura de pantalla de la pantalla actual y la guarda en el archivo screenshot.png. Además de un png, el comando
screenshot
admite otros formatos de archivo, como TIFF, BMP, GIF y JPEG.Una captura de pantalla puede mostrar el aspecto de tu aplicación, y una imagen vale más que mil palabras. Sin embargo, un vídeo vale mucho más :]
Grabación de vídeo
Puedes grabar vídeos de tu app utilizando simctl. Para empezar a grabar, introduce el siguiente comando:
xcrun simctl io Demo recordVideo Demo.mov --codec="h264"
Interactúa con RayWonders en el simulador. Pulsa Control-C en el terminal cuando hayas terminado. Esto guarda el vídeo en Demo.mov.
Además, puedes especificar el códec deseado al grabar. El códec por defecto es hevc.
El comando
recordVideo
ayuda a evitar el uso de un reproductor QuickTime para grabar un vídeo de tu app.Personalizar la barra de estado
Comprueba la barra de estado de la app en el simulador. Puedes ver que la batería está llena, el dispositivo tiene la mejor señal y la hora en el simulador es la hora local de tu Mac. Qué haces si quieres anular esto?
Introduce el siguiente comando en Terminal:
xcrun simctl status_bar Demo override \ --dataNetwork 4g --cellularBars 2 --batteryState charging \ --batteryLevel 25 --time 12:05
Esto anula la barra de estado para establecer:
- Red de datos como 4G
- Señal de telefonía móvil a dos barras
- Estado de la batería a carga y el nivel de batería al 25%
- Hora en el simulador a 12:05
Cuando hagas esto en tu propio proyecto, puedes establecer la información de la barra de estado a lo que quieras.
El comando
status_bar
puede ser realmente útil cuando quieras personalizar la apariencia de las capturas de pantalla y vídeos de tu app.Cuando hayas terminado, revierte la barra de estado a la apariencia por defecto introduciendo lo siguiente:
xcrun simctl status_bar Demo clear
Depuración y diagnóstico
Simctl también proporciona varios comandos para ayudar a depurar y diagnosticar problemas.
Vuelve a Terminal, e introduce lo siguiente:
xcrun simctl get_app_container Demo com.raywenderlich.RayWonders
get_app_container
imprime la ruta del paquete de aplicaciones.Puedes inspeccionar los datos dentro del contenedor de la app usando esta ruta. Además, los registros de tu simulador pueden ser realmente útiles a la hora de depurar problemas.
Ahora, escribe lo siguiente en Terminal:
xcrun simctl spawn Demo log stream
Esto inicia el streaming de todos los registros del simulador Demo.
Sin embargo, esto puede ser demasiados datos para inspeccionar. Pulsa Control-C para detener el stream.
Intenta lo siguiente:
xcrun simctl spawn Demo log stream | grep com.raywenderlich.RayWonders
Esto filtra los logs y muestra sólo los de RayWonders.
A medida que interactúes con la aplicación, verás más logs mostrados en la terminal. Estos registros pueden ser muy útiles a la hora de presentar un error o proporcionar información a Apple.
Escribe lo siguiente:
xcrun simctl diagnose
El comando
diagnose
recoge un montón de datos, incluyendo registros y fallos. También genera archivos que pueden ayudar a Apple a depurar problemas. Por defecto, los registros recogidos son para el dispositivo arrancado. Especificando el UDID de un dispositivo, puede restringir la recopilación de registros a ese dispositivo en particular.¡Ahora se ha convertido en un experto en la línea de comandos del simulador! Puede dar un paso más allá automatizando acciones comunes usando scripts Bash.
Automatización usando un script Bash
Ahora, creará un script para clonar un simulador y lanzar RayWonders en una localización diferente.
Primero, abre el Terminal, e introduce lo siguiente:
touch sim_utility.sh
Esto crea un nuevo archivo con el nombre sim_utility. La extensión .sh denota que es un script de shell.
Nota: Puedes crear el script en cualquier lugar de tu sistema de archivos. Por motivos de organización en el proyecto de ejemplo, el script se encuentra en la carpeta `Scripts`.A continuación, ejecuta:
chmod +x sim_utility.sh
Esto hace que el sim_utility.sh sea ejecutable para que puedas ejecutarlo.
Abre sim_utility.sh en un editor, y añade lo siguiente:
#!/bin/bash#1COMMAND="$1"SIMULATOR_NAME="$2"#2get_id_of_simulator() { #TODO}get_status_of_simulator() { #TODO}launch() { #TODO}#3case $COMMAND in"launch") launch "$3" "$4" "$5" ;;*) launch_help exit 1 ;;esac
Esto es lo que ocurre:
- El script toma un nombre de comando y un nombre de simulador como parámetros de la línea de comandos.
-
get_id_of_simulator
get_status_of_simulator
ylaunch
son stubs vacíos que implementarás a continuación. - El script actualmente soporta un comando llamado
launch
. Ellaunch
toma tres parámetros adicionales, que implementarás pronto.
En
get_id_of_simulator
, sustituye#TODO
por lo siguiente:xcrun simctl list | grep "$SIMULATOR_NAME" | \awk 'match($0, /\((+)\)/) {print substr( $0, RSTART + 1, RLENGTH-2 )}'
get_id_of_simulator
busca en la lista de un simulador que coincida con el nombre especificado como parámetro. Si encuentra una coincidencia, la operación de substring obtiene el identificador único del simulador.En el método
get_status_of_simulator
, sustituye#TODO
por lo siguiente:xcrun simctl list | grep "$SIMULATOR_NAME" | \awk 'match($0, /\((+)\)/) {print substr( $0, RSTART + 1, RLENGTH - 2 )}'
get_status_of_simulator
busca un simulador con un nombre coincidente en la lista de dispositivos. Si encuentra una coincidencia, obtiene el estado del simulador: arrancado o apagado. Los utilizará en ellaunch
.Implementando el lanzamiento
En
launch
, sustituye#TODO
por lo siguiente:#1BUNDLE_ID="$1"LOCALE="$2"LANGUAGE="$3"CLONE_NAME="$LOCALE"#2SIMULATOR_ID=$(get_id_of_simulator)if ; then echo "No device matching the name: $SIMULATOR_NAME" returnfiecho "Simulator id: $SIMULATOR_ID"echo "Bundle id: $BUNDLE_ID"echo "Locale: $LOCALE"#3SIMULATOR_STATUS=$(get_status_of_simulator)echo "Simulator Status: $SIMULATOR_STATUS"if ; then echo "Making sure the device is shutdown first..." xcrun simctl shutdown "$SIMULATOR_NAME"fi#4echo "Cloning the device with name $LOCALE..."xcrun simctl clone "$SIMULATOR_NAME" "$CLONE_NAME"#5echo "Booting device..."xcrun simctl boot "$SIMULATOR_NAME"xcrun simctl boot "$CLONE_NAME"#6echo "Launching app..."xcrun simctl launch "$SIMULATOR_NAME" "$BUNDLE_ID"#7xcrun simctl launch "$CLONE_NAME" "$BUNDLE_ID" -AppleLocale "$LOCALE" \ -AppleLanguages "($LANGUAGE)"
Guarda el archivo. Esto es lo que hace, paso a paso. Hace:
- Da parámetros adicionales a
launch
, incluyendo el ID del bundle de la aplicación, la configuración regional y el idioma para lanzar tu app. Declara una variable localCLONE_NAME
, que es el nombre del dispositivo clonado. En este caso, el nombre del dispositivo clonado es la configuración regional que especifiques; - Obtiene el ID del simulador llamando a
get_id_of_simulator
. Luego, almacena el resultado enSIMULATOR_ID
. Si no hay ningún simulador que coincida, sale del programa; - Obtiene el estado del simulador llamando a
get_status_of_simulator
. Si el estado esBooted
, ejecuta el comandoshutdown
para apagarlo. Para ser clonado, un dispositivo debe estar apagado; - Clona el simulador utilizando el comando
clone
; - Bota tanto el simulador original como el clonado utilizando el comando
boot
; - Lanza la app en el simulador original utilizando el comando
launch
; - Lanza la app utilizando el comando
launch
en el simulador clonado. Especifica la configuración regional y el idioma para que la app se lance.
Lanzamiento de RayWonders en una configuración regional diferente
Abre el Terminal, y ejecuta lo siguiente:
./sim_utility.sh launch Demo com.raywenderlich.RayWonders hi_IN hi
RayWonders se lanza en hindi en un simulador clonado con el nombre hi_IN.
Ya no tendrás que ir a los ajustes y cambiar el idioma del dispositivo para probar tu app. Ahora puedes ver tu app en varios idiomas simultáneamente. Gran trabajo!
Nota: Si has encontrado problemas al ejecutar el script, asegúrate de que sólo tienes un simulador con el nombre Demo. Puedes comprobar el número de simuladores disponibles ejecutandoxcrun simctl list | grep Demo
en el terminal. Elimina cualquier simulador duplicado e inténtalo de nuevo.RayWonders también admite algunos otros idiomas. Ejecuta lo siguiente:
./sim_utility.sh launch Demo com.raywenderlich.RayWonders ja_Jp ja
RayWonders ahora se lanza en japonés en un nuevo simulador.
Como reto divertido, implementa dos comandos más en el script sim_utility.
- Limpieza: Esto borra un simulador dado un nombre de simulador.
- Ayuda: Esto imprime un menú de todos los comandos soportados por el script.
- Obtener el máximo provecho de Simulator
- Conviértete en un experto en Simulator
Encontrarás la versión final del script con todas estas opciones implementadas en la carpeta Scripts de los materiales descargados.
¿A dónde ir desde aquí?
Descarga el proyecto haciendo clic en el botón Descargar materiales en la parte superior o inferior de esta página.
En este tutorial, has aprendido toneladas de opciones útiles del simulador y de la línea de comandos. Para aprender más, por favor, echa un vistazo a estos vídeos de la WWDC:
Espero que hayas disfrutado de este tutorial. Si tienes alguna pregunta o comentario, únete a la discusión del foro más abajo.
raywenderlich.com Weekly
El boletín de raywenderlich.com es la forma más fácil de estar al día de todo lo que necesitas saber como desarrollador móvil.
Obtén un resumen semanal de nuestros tutoriales y cursos, ¡y recibe un curso gratuito en profundidad por correo electrónico como bono!
Valoración media
5/5
Añade una valoración para este contenido
Inscríbete para añadir una valoración9 valoraciones
Verás una lista de simuladores que se incluyeron con Xcode. Si ha descargado otros tiempos de ejecución en el pasado, verá esos simuladores asociados también.
Ahora, creará un nuevo simulador con un nombre personalizado.
Sigue estos pasos:
Esto crea un nuevo simulador con el nombre Demo, que ahora puede encontrar en la lista de simuladores.
Desmarca la casilla Mostrar como destino de ejecución para el simulador Demo.
Esto oculta el simulador. No aparecerá en la lista de simuladores junto al esquema de la app.
Haga control-clic en el simulador Demo. Aparecen varias opciones, como Eliminar y Renombrar.
Adelante, elimina el simulador Demo haciendo clic en Eliminar. No te preocupes; lo crearás usando un método diferente muy pronto.
Ejecutando tiempos de ejecución más antiguos
A veces tendrás que ejecutar tu aplicación en versiones antiguas de tiempos de ejecución.
Puedes descargar tiempos de ejecución más antiguos seleccionando Descargar más tiempos de ejecución en el desplegable Versión del sistema operativo al crear un nuevo simulador.
También puedes descargar más tiempos de ejecución desde la ventana de Componentes. Seleccione la opción Xcode ▸ Preferencias ▸ Componentes.
Esta ventana muestra la lista del runtime del simulador descargado, así como otros runtimes disponibles para su descarga.
A continuación, aprenderá una forma alternativa de crear simuladores.
Creación de simuladores desde el menú Simulador
Construya y ejecute.
Cuando el simulador se esté ejecutando, siga estos pasos: