gorkula.com
Cómo configurar Fastlane para hacer capturas de pantalla en iOS
Fastlane es un conjunto de utilidades para acelerar y automatizar las tareas más tediosas del desarrollo de aplicaciones móviles. Incluye una utilidad llamada snapshot para hacer capturas de pantalla en diferentes idiomas y dispositivos usando los tests de UI de Xcode.

Lo primero de todo es crear un nuevo UI Test target en el proyecto de Xcode. Esto se hace desde File > New > Target...


En la ventana que aparece a continuación hay que buscar UI Testing Bundle.



Una vez creado el target hay que ir al terminal y correr el comando fastlane snapshot init en la carpeta del proyecto. Este comando creará un directorio fastlane en la raíz del proyecto.

Dentro del directorio hay varios ficheros. Hay que añadir ./SnapshotHelper.swift al target que acabamos de crear.


En este ejemplo la aplicación se llama peliculas y el target que he creado más arriba es peliculasUITests.

El siguiente paso es crear un scheme nuevo. Se hace desde Product > Scheme > New Scheme...



En la ventana que se abre hay que darle un nombre y seleccionar el target. Seleccionamos el que hemos creado anteriormente para los tests.



A continuación hay que editar el scheme y marchar la casilla Run. Este paso se me olvidó y pasé un buen rato tratando de averiguar por qué Fastlane estaba fallando.



El siguiente paso es escribir tests y decirle a Fastlane en qué momentos hacer las capturas.

Usando el test de ejemplo que nos ha creado Xcode solo tenemos que añadir setupSnapshot(app) para terminar la configuración. Ahora toca escribir tests de UI y en el punto en que queramos hacer una captura de pantalla llamar a snapshot("NombreDeLaCaptura")

func testExample() throws {
    let app = XCUIApplication()
    setupSnapshot(app)
    app.launch()
    

    // Views list
    let tabViews = app.buttons["tabViews"]
    tabViews.tap()
    XCTAssertTrue(tabViews.exists)
    snapshot("Views")
}

Una vez los tests pasen solo queda ir a la consola y ejecutar el comando fastlane snapshot.

En el directorio fastlane que se ha creado al principio hay un fichero Snapfile en el que se pueden configurar un montón de cosas, como los dispositivos a usar para hacer las capturas o los idiomas.

De momento esto es todo. Estoy peleándome un poco para escribir unos buenos tests. Sobre todo me estoy peleando con los selectores. Escribiré sobre el tema en cuanto lo domine un poco más.
19 Jul - Sin comentarios - iOS, dev, fastlane, xcode
Diario de películas, mi primera app para iOS
Descarga la app desde la App Store.

Conseguir un trabajo me está resultando mucho más difícil de lo que esperaba por diferentes motivos. Llevo un año sin trabajar (y esto los recruiters lo ven mal), estoy en otro mercado que no acabo de comprender, y ahora mismo las empresas están despidiendo masivamente.

No sé lo que durará todo esto pero entre ataques de ansiedad y echar CVs he decidido ponerme manos a la obra y desarrollar algo para iOS. Soy usuario de iPhone desde el 3G. Durante unos meses probé Android pero no me convenció.

Hace años intenté ponerme. Compré un libro de Objective-C y ni lo llegué a leer. Con Swift y UIKit lo volví a intentar durante una semana pero tenía el foco en otra parte. Compré el Apple Watch Series 4 porque le vi un montón de posibilidades y trasteé un poco pero nunca llegué a terminar nada.

Parece que he roto esta racha y por fin he publicado mi primera aplicación.

Mi primera app para iOS


Diario de películas es una aplicación muy simple que te permite llevar la cuenta de las películas que ves. Puedes valorarlas del 1 al 5 y dejar un comentario.

Por el momento hay dos características que creo que hacen de ésta una app especial:
  1. Toda la información se almacena en el dispositivo y cuenta iCloud del usuario. No se envía ningún tipo de información fuera de la app.
  2. No es una app social. No puedes seguir a nadie ni recibir recomendaciones.

Las películas vistas se pueden consultar sin conexión a internet pero para buscar películas hace falta conexión ya que los datos salen de TMDB.

Aquí tienes unas capturas de cómo luce la app en la actualidad. Las publico también como archivo, ya que tengo pensados cambios que quiero ir integrando poco a poco.


Dudas, sugerencias y errores


De momento puedes dejar un comentario en esta entrada. En algún momento planeo montar algo más serio para centralizar el mantenimiento de todas las apps que vaya desarrollando.

Espero que te sea útil. Yo vengo utilizando algo parecido desde 2015. Una web privada que monté mientras aprendía a programar. A ver si hago un importador para traer datos de otros servicios a esta app. Y un exportador para que puedas llevarte tu información cuando y a dónde quieras.
09 Jun - Sin comentarios - apps, iOS