Para ello debes crear una carpeta vacía con el nombre «AppleInternal» en el directorio raíz. Sólo tienes que ejecutar este comando de abajo y reiniciar el Simulador:
sudo mkdir /AppleInternal
El nuevo elemento del menú debería aparecer. ☝️
Nota: He probado este enfoque en el Simulador de Xcode 9b3. Si no lo tienes, por favor descarga la última versión de Xcode aquí.
#2 Abrir varios Simuladores a la vez
¿Recuerdas la frustración de probar tu aplicación en diferentes simuladores? Antes estabas obligado a abrir sólo una instancia del Simulador a la vez. Había muchos «hacks» cómo abrir múltiples instancias del simulador de iOS en una versión anterior de Xcode. Pero finalmente, con Xcode 9 esta característica está disponible fuera de la caja.
#3 Cambiar el tamaño del Simulador al igual que una ventana normal
Antes de Xcode 9 teníamos «Opciones de escala» sólo para ajustar el tamaño de la ventana del simulador. Ahora Apple finalmente hizo disponible el cambio de tamaño de la ventana del Simulador. Es un pequeño detalle útil que puede ayudar a organizar el espacio de trabajo de manera eficiente si tiene varios simuladores abiertos.
#4 Grabar vídeo del simulador
En el documento oficial «What’s new» para Xcode 9, Apple afirma que ahora se puede grabar un vídeo de la pantalla del simulador. No es del todo cierto. Se puede hacer incluso en las versiones anteriores con simctl
. Sin embargo, no he encontrado ninguna prueba de que se pueda habilitar la grabación de vídeo desde la interfaz (a excepción de la grabación de pantalla incorporada en iOS 11).
Para obtener su archivo de vídeo, ejecute el siguiente comando:
xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>
booted
– significa, que simctl
selecciona el Simulador actualmente arrancado. En caso de que tenga más de un Simulador arrancado, simctl
selecciona la instancia actualmente activa.
#5 Compartir archivos al Simulador directamente desde el Finder
Ahora el Simulador tiene la extensión Finder que le permite compartir archivos directamente desde la ventana del Finder.
Puede hacer algo similar con los archivos de imagen/vídeo utilizando el comando simctl
que aparece a continuación:
xcrun simctl addmedia booted <PATH TO MEDIA FILE>
Es bueno tener estas habilidades. Sin embargo, arrastrar&soltar el archivo a la ventana del Simulador me parece mucho más rápido.
#6 Abrir URLs en el Simulador
Este también viene con simctl
. Así que puedes abrir esquemas de URL personalizados en Simuladores más antiguos también.
Ejecuta el comando de abajo con cualquier URL que necesites:
xcrun simctl openurl booted <URL>
Para la lista de todos los esquemas de URL de Apple por favor revisa la documentación.
#7 Encuentra rápidamente la carpeta contenedora de la aplicación
Un comando más de simctl
. Puede obtener el contenedor de la aplicación en el sistema de archivos con un solo comando. Sólo necesitas saber el identificador del bundle de la aplicación y ejecutar el siguiente comando:
xcrun simctl get_app_container booted <APP'S BUNDLE ID>
O puedes hacerlo aún más rápido abriendo la carpeta de destino en el Finder con el comando open
:
open `xcrun simctl get_app_container booted <APP'S BUNDLE ID>` -a Finder
#8 Lanzar tu aplicación en el Simulador con argumentos de línea de comandos
Con simctl
también puedes lanzar tu aplicación desde el terminal y pasar algunos argumentos de línea de comandos allí (incluso puedes configurar algunas variables de entorno). Puede ser útil si quieres añadir algún comportamiento oculto de depuración a tu aplicación.
El siguiente comando te ayudará con eso:
xcrun simctl launch --console booted <BUNDLE ID> <YOUR ARGUMENTS>
Puedes obtener estos argumentos de línea de comandos desde CommandLine.arguments
(aquí está el enlace a la documentación).
#9 Obtener información completa de la aplicación con el ID del paquete
A veces es útil averiguar dónde se encuentra el archivo de tu aplicación o los datos temporales en el sistema de archivos. Si necesita información más completa de lo que simctl get_app_container
puede dar. simctl
también tiene esta pequeña herramienta llamada appinfo
que le mostrará alguna información en el siguiente formato:
{ ApplicationType = User; Bundle = <PATH TO APP FILE>; BundleContainer = <PATH TO FOLDER WITH APP FILE>; CFBundleDisplayName = TestiOSApp; CFBundleExecutable = TestiOSApp; CFBundleIdentifier = "com.ahmed.app.TestiOSApp"; CFBundleName = TestiOSApp; CFBundleVersion = 1; DataContainer = <PATH TO YOUR DATA>; GroupContainers = { }; Path = <PATH TO APP FILE>; SBAppTags = ( ); }
Ejecute el comando de abajo y explore la salida:
xcrun simctl appinfo booted <BUNDLE ID>
Una última cosa…
El Simulador de iOS es una herramienta muy poderosa que puede acelerar su proceso de desarrollo mucho. Pero sólo si conoces todos los pequeños detalles y trucos. Y obviamente, como buen ingeniero, tienes que conocer tus herramientas.
Aquí en Flawless, el Simulador de iOS es extremadamente importante para nosotros. Nuestro producto es un plugin del Simulador de iOS que permite a los ingenieros inspeccionar cualquier diseño sobre la implementación justo dentro del Simulador. Así que no puedo decir lo feliz que estoy con esta nueva versión de Xcode 9 y Simulator. ¡No puedo esperar a la versión pública! Así que podemos implementar más características útiles para mantener una calidad visual de las aplicaciones de iOS en una buena forma.