Atajos de teclado útiles en XCode

A la hora de mejorar nuestra productividad utilizando una herramienta lo ideal es conseguir que algunas tareas repetitivas o la activación de algunas funciones que ofrece la herramienta se consiga realizar en el menor tiempo posible. Esta mejora en la productividad la podemos conseguir utilizando atajos de teclado.

Xcode es el entorno de desarrollo de Apple para sus distintas plataformas de software. Ofrece multitud de funciones y posee multitud de atajos de teclado. Incluso nos ofrece la oportunidad de crear atajos nuevos, redefinirlos o mejorar su comportamiento.

En este artículo comparto alguno de los atajos de teclado que más utilizo con esta herramienta.

Moverse entre zonas del proyecto

A veces lo ideal para encontrar algo es saber cómo moverse rápidamente. Cuando tenemos un proyecto con muchos archivos esto es indispensable.

Saltar entre archivos de un grupo

Control + 5

Al usar este atajo de teclado desde un editor nos aparecerá una lista de todos los ficheros que están contenidos en el mismo grupo que el fichero que estemos editando en ese momento. De esta forma podemos saltar entre ficheros agrupados de forma rápida.

Saltar entre elementos del fichero actual

Control + 6

Con este atajo de teclado accederemos a una lista de todas las declaraciones de variables, métodos, marcas y demás símbolos del fichero que estemos editando. De esta forma podemos ver de un vistazo todo lo que hay y saltar al punto que necesitemos.

Saltar a una línea

Comando + L

Con este atajo podremos mover el foco de edición a una línea concreta del fichero que estemos editando.

Abrir rápidamente

Mayúscula + Comando + O 

Este comando nos abrirá un popup para encontrar rápidamente algún elemento del proyecto sea un fichero, una clase o la declaración de un método.

Lo interesante de este comando es que cuando estamos en el elemento que queremos abrir si pulsamos enter lo abriremos en el editor principal pero si pulsamos Option+Enter lo abriremos en el editor secundario

Mostrar en el explorador de proyecto

Mayúscula + Comando + J

Con este atajo se abrirá el panel del explorador de proyecto focalizando el fichero que tengamos abierto en el editor. Esto es útil para cuando el depurador o el compilador nos lleva a un fichero de código donde se localiza un error o warning. De esta forma nos podemos orientar en el árbol de ficheros del proyecto de forma más clara.

Controlando el espacio

A veces la pantalla de Xcode se llena de demasiada información o elementos y no nos permite concentrarnos o ver con claridad qué estamos haciendo.

Para gestionar las áreas de visualización de Xcode tenemos los siguientes atajos.

Ocultar/mostrar el inspector

Opción + Comando + 0

El inspector de objetos es un panel muy útil cuando estamos utilizando Interface Builder, añadiendo idiomas a los recursos o gestionando la dependencia de ficheros entre targets. El resto del tiempo de uso de Xcode no lo utilizamos para nada. Por esta razón viene bien saber qué se puede ocultar y mostrar fácilmente.

Mostrar y ocultar el área de depuración

Comando + Mayúsculas + Y

El área de depuración ocupa un espacio importante y es una zona que sólo utilizamos cuando estamos realizando pruebas. Por esta razón también es interesante ocultarla cuando no se utilice.

Mover el foco al editor

Control + Comando + Mayúsculas + Enter

Con este atajo de teclado el editor se ampliará para ocupar todo el espacio disponible

Esto viene bien cuando, por ejemplo, al intentar leer código con VoiceOver notamos que no lee líneas de código completas. Esto se debe a que algún otro panel o área de Xcode está limitando el área de visualización del editor.

Pausar/reanudar visión del canvas

Comando + Opción + P

A veces nos interesa que la simulación del cambas de la vista SwiftUI se refresque o nuestro equipo va corto de recursos y es mejor desactivar esta simulación.

Ocultar/mostrar canvas

Comando + Opción + Enter

Cuando estamos editando una View de SwiftUI puede que nos interese ocultar el canvas de previsualización para ahorrar recursos.

Conclusión

Con esta lista de atajos podemos mejorar sustancialmente nuestra productividad en Xcode pero hay muchos más atajos e incluso podemos crear los nuestros gracias a las opciones de personalización de MacOS y Xcode.

Merece la pena explorar un poco esta gran herramienta que ofrece tantas posibilidades.

Mostrar y escuchar un iPhone en la pantalla de tu Mac

En muchas ocasiones puede que nos interese grabar el video y el audio de nuestro dispositivo iOS o puede que necesitemos compartir lo que se ve y se escucha en nuestro iPhone mientras estamos en una videoconferencia.

Aunque algunas aplicaciones incluyen drivers para identificar un dispositivo iOS como otra ventana de aplicación a la hora de compartir pantalla el propio sistema MacOS nos proporciona una solución simple y compatible con cualquier aplicación de videoconferencia que nos permita compartir nuestro escritorio.

QuickTime player al rescate

La aplicación Quicktime player viene instalada en MacOS por defecto y funciona como una grabadora de video y audio simple pero incluye funciones muy interesantes.

Una de ellas es la opción de nueva grabación de video la cual nos permite grabar la señal de video y audio del dispositivo que seleccionemos. Al seleccionar esta opción desde el menú archivo nos saldrá la interfaz simple de Quicktime player.

En esta interfaz hay un botón llamado mostrar menú de selección de dispositivo de captura que nos permite seleccionar cuales serán los dispositivos de entrada para la cámara y el micrófono. Si en este botón de menú elejimos nuestro iPhone o iPad tanto como para cámara como para micrófono podremos grabar tanto la imagen como el audio del dispositivo.

Para que se pueda escuchar en el Mac el audio del iPhone es necesario buscar un regulador de volumen en la pantalla de Quicktime player y subir el volumen.

También es posible ver y escuchar el iPhone en tiempo real sin necesidad de iniciar la grabación de video. De esta forma Quicktime player consumirá menos recursos y es una solución ideal si sólo necesitamos ver o compartir la pantalla de nuestro dispositivo móvil.

Cómo exportar desde MacOS un documento de Pages a PDF incluyendo atributos de accesibilidad

En MacOS desde hace unos años se incluye la suite ofimática Iwork.

Esta suite ofimática desarrollada por Apple incluye hojas de cálculo, editor de presentaciones y un potente procesador de textos. Este procesador de textos tiene como nombre Pages.

Marcado de accesibilidad en Pages

En Pages es muy sencillo etiquetar la accesibilidad en los párrafos. Simplemente debemos seleccionar un párrafo de nuestro documento y en la herramienta de formateo elegir un estilo de párrafo como pueden ser título, encabezado de nivel 1 o encabezado de nivel 2.

También en la herramienta de formateo se pueden indicar las descripciones alternativas para imágenes, elementos incrustados o campos de formulario.

Exportando a PDF respetando la accesibilidad

Una vez tengamos nuestro documento de Pages accesible respetando los estilos de párrafo, descripciones para imágenes e incluyendo las demás marcas semánticas para mejorar la accesibilidad es momento de realizar el proceso de exportación a PDF.

En el menú Archivo encontramos la opción exportar a …,y en el submenú debemos elegir la opción PDF.

Nos aparecerá el menú de exportación donde confirmaremos el formato de fichero a exportar, en nuestro caso PDF; la calidad del documento y, cosa importante, dentro del botón de opciones avanzadas encontraremos el nivel de exportación de los elementos de accesibilidad.

Esta opción viene en el valor por defecto. Este valor sólo afecta a la conversión de elementos de maquetación de datos. Elementos como marcas de encabezado, etiquetas de controles de formulario o descripciones alternativas para elementos visuales no serán incluidas en el documento PDF generado tras la exportación.

Según nos indica Pages su descripción es:

Se etiqueta el documento cuando las tablas tienen menos de 10.000 celdas. El etiquetado incrementa el tiempo de exportación y el tamaño del archivo.

Debemos cambiar este valor al valor activada ya que esto nos garantiza que se incluirán todas las etiquetas de accesibilidad posibles.

Su descripción según Pages es la siguiente:

Siempre se etiqueta el documento, lo que hace que se incremente el tiempo de exportación y el tamaño del archivo especialmente en el caso de documentos grandes o complejos.

Con esta opción de accesibilidad activada ya podemos pulsar el botón de Siguiente para que Pages nos pregunte dónde guardar el nuevo documento generado.

Cómo comprimir y descomprimir ficheros zip desde la Terminal de Mac

La Terminal de MacOS es una herramienta muy importante que nos permite ampliar la funcionalidad de nuestros scripts y aplicaciones. Esto es así gracias a que desde nuestros scripts en AppleScript, Python o Swift podemos ejecutar comandos de la Terminal de MacOS.

Una de las operaciones más habituales a la hora de tratar con ficheros es la de comprimirlos o descomprimirlos. La Terminal de MacOS nos proporciona comandos para realizar estas operaciones.

En un artículo anterior vimos cómo utilizar la Terminal de MacOS ya que estos conocimientos serán necesarios para seguir este artículo.

Comprimiendo carpetas y ficheros

Para realizar las operaciones de compresión de ficheros y carpetas la Terminal de MacOS nos proporciona el comando zip.

Su uso es muy sencillo:

zip nombreDeFicheroComprimido nombreDeFicheroAComprimir

Por ejemplo, si queremos crear el fichero miCarpeta con todos los contenidos de la carpeta miCarpetaDeDocumentos el comando sería este:

zip miCarpeta miCarpetaDeDocumentos

El comando zip nos proporciona muchos más parámetros que nos permiten cambiar el nivel de compresión, incluir seguridad en el fichero y otras muchas más características del formato zip.

Descomprimiendo ficheros

Para descomprimir ficheros la Terminal de MacOS nos proporciona el comando unzip. Su uso es tan sencillo como ejecutar el comando seguido del nombre de fichero a descomprimir. Por ejemplo, vamos a descomprimir el fichero miCarpeta.zip que creamos antes.

unzip miCarpeta.zip

Con esta información ya podemos crear scripts que compriman carpetas y descompriman ficheros zip para poder realizar operaciones de automatización de copias de seguridad, subida y bajadas de ficheros en la Nube o cualquier cosa que se nos ocurra.

SwiftUI en Playgrounds para MacOS

En el artículo anterior se explicó cómo utilizar Playgrounds para MacOS y creamos nuestro primer Playground en el que saludábamos a todo el mundo.

En este artículo seguiremos saludando a todo el mundo pero con SwiftUI.

¿Qué es SwiftUI?

SwiftUI es la nueva librería de Apple para crear interfaces de usuario de forma declarativa. Esto implica que a diferencia de AppKit o UIKit, las librerías anteriores para crear interfaces de usuario para MacOS e iOS, el que sea declarativa facilita muchísimo la creación de estas interfaces.

En SwiftUI todos los elementos visibles se denominan vistas. Ventanas, botones, etiquetas de texto o casillas de verificación son vistas. Estas vistas se codifican como structs en Swift en la que cada struct tiene un cuerpo (body) en el que se declara cómo se verá la vista o qué vistas serán contenidas por esa vista que estamos declarando.

El código

A continuación se muestra el código para nuestro Playground.

import PlaygroundSupport
import SwiftUI

struct ContentView: View {
var body: some View {
Text("¡Hola mundo!")
}
}

PlaygroundPage.current.setLiveView(ContentView())

Lo más importante de este código para Playgrounds es la primera línea, en la que importamos un módulo para realizar operaciones para Playgrounds y la última línea donde indicamos al controlador de páginas de Playground qué vista de SwiftUI queremos mostrar en la pantalla.

El resto del código es SwiftUI estándar.

Conclusión

Con este simple Playground se nos abre la posibilidad de poder empezar a aprender SwiftUI y crear nuestras propias interfaces de usuario.

Aprende y practica Swift en tu Mac con Swift playgrounds

El mundo de la programación es cada vez más accesible y necesario para todas las personas. Por esa razón aparecen aplicaciones para que todo el mundo pueda aprender y practicar. Apple nos ofrece Swift playgrounds tanto para Mac como para iPad para que podamos aprender y practicar el lenguaje de programación Swift.

Swift playgrounds para Mac

En este artículo veremos la versión de Swift playgrounds para MacOS.

Esta aplicación resulta bastante accesible siempre y cuando sigamos unas reglas y entendamos que algunos cursos generados por otros desarrolladores son muy visuales y quedan fuera de la accesibilidad propuesta por Apple.

Su instalación es muy sencilla desde la Mac Appstore.

Abriendo Swift playgrounds

Nada más abrir Swift playgrounds nos encontramos que la aplicación habla de áreas de juego, es la traducción de playgrounds.

En la pantalla principal encontramos un área llamada Mis áreas de juegos, donde se alojarán los cursos y pruebas que tengamos descargados o disponibles para descargar. 

La zona de más áreas de juegos nos permite ver una galería de cursos, lecciones y experimentos que podemos descargar y seguir.

Creando nuestro primer programa en Swift

Una cosa que nunca debemos olvidar es que las aplicaciones para MacOS tienen un menú en la barra de menú que nos dará acceso a muchas de las opciones de la aplicación.

Vamos a crear un playground para poder escribir nuestro primer programa en Swift.

Abrimos el menú Archivo de la barra de menú y bajamos hasta la opción Nueva área de juegos en blanco. Los usuarios de VoiceOver deben pulsar Control+Opción+M y pulsar flecha a la derecha hasta llegar al menú Archivo. Luego pulsar flecha abajo hasta la opción de nueva area de juegos en blanco y pulsar enter.

Estamos en la ventana de creación y ejecución de un Playground. En esta ventana encontramos las siguientes zonas:

Una barra de herramientas con opciones para importar código de otros playgrounds y abrir o cerrar la barra lateral.

La barra lateral donde se nos da acceso a los módulos y páginas de un playground.

El editor de código donde estará el código fuente de nuestro programa.

Un botón de opciones de ejecución que desplegará un menú para elegir distintas opciones mientras se ejecuta nuestro código.

Un botón para ejecutar código.

Un botón para abrir la consola y ver los resultados de ejecutar nuestro código.

Por último un área donde se verán los resultados y que VoiceOver identifica erróneamente como una zona para introducir código.

Comenzamos a codificar

Es hora de ponernos manos a la obra y a programar se aprende programando así que vamos a crear nuestro primer programa en Swift.

Pinchamos en el editor de código, con VoiceOver nos colocamos sobre el editor de código y pulsamos Control+Opción+espacio. Si no hacemos esto con VoiceOver la edición de código no será del todo accesible para personas ciegas.

Al entrar en el editor debemos introducir el siguiente código:

print("¡Hola mundo!")

Tras esto debemos pulsar el botón de ejecutar código. Los usuarios de VoiceOver para salir del editor simplemente deben de dejar de interactuar con el editor, para ello se pulsa Control+Opción+Mayúsculas+flecha arriba.

Al pulsar el botón de ejecutar código no se aprecia que haya sucedido nada. Esto se debe a que la función print imprime un texto por la consola y la consola actualmente está oculta. Debemos pulsar el botón Abrir consola para ver el resultado.

Encontraremos un área llamada salida de la consola que mostrará el texto ¡Hola mundo!.

Volvemos a editar nuestro código y añadimos otra línea a nuestro código anterior dejando nuestro programa con el siguiente código:

print("Hola mundo!")
print("Este es mi primer programa en Swift.")

Volvemos a pulsar el botón ejecutar código y la salida de la consola se actualizará con el nuevo mensaje.

 

Conclusión

Tras crear nuestro primer programa en Swift ya nada nos impide progresar en nuestro camino de aprendizaje y poder crear nuestras propias aplicaciones.

Podemos comenzar nuestro aprendizaje sin necesidad de instalar una aplicación tan compleja como Xcode y además tenemos acceso a otras lecciones.