En un artículo anterior aprendimos como instalar Swift-Lite en nuestra Raspberry Pi. En esta ocasión te voy a explicar cómo programo yo mis pequeños desarrollos para Raspberry Pi en Swift.

Requisitos previos

  • Un mac con macOS, git y Xcode instalados
  • Una Raspberry Pi con ssh/vnc configurado y accesible des del macOS, git y Swift-Lite instalados
  • Un repositorio git configurado en ambos equipos (Yo suelo usar GitHub)

Estructura del proyecto en Xcode

Proyecto personal de smart home.

Para Raspberry Pi lo mas común en mis proyectos es que sean proyectos sin interfaz gráfica (De todas formas tengo un proyecto de car-pc o carputer del que ya te hablaré otro día en el que utilizo esta librería para la interfaz visual), para nuestro proyecto crearemos una aplicación de terminal des de las plantillas predefinidas de Xcode. En este punto te propongo la estructura que podéis ver en la captura para proyectos pequeños. Si te vas a embarcar en algo gordo ya haría falta repensar cómo vamos a organizar el proyecto.

Subiendo el proyecto al repositorio git

No me voy a parar a estas alturas a explicar cómo funciona git, si no lo sabes tienes miles de artículos por internet en en los que puedes encontrar tutoriales donde lo explican perfectamente, si de todas formas prefieres que haga un artículo explicándolo, déjalo en los comentarios 😉.
¡Ahora vamos a subir los cambios a nuestro repo! en mi caso GitHub

Ejemplo de un commit con Sourcetree

Recuperando los cambios en nuestra Raspberry Pi y compilando el proyecto

Una vez tengamos el proyecto en nuestro repositorio, nos conectamos a nuestra Raspberry Pi mediante SSH o VNC y descargamos los cambios.
Ahora nos posicionamos en la carpeta en la que hemos descargado el proyecto, en mi caso tengo todo el código dentro de una carpeta llamada redqueen (Esto dependerá de vuestro proyecto y de donde lo tengáis ubicado):

cd ~/Developer/swiftProjects/redqueen/redqueen

Para compilar el proyecto en la Raspberry Pi, debemos especificar que ficheros queremos compilar, en Xcode esto se resuelve con el fichero del proyecto pero aquí debemos especificarlo manualmente:

swiftc main.swift Features/*/*.swift

Esto nos generará un fichero binario llamado main si queremos especificarle un nombre para el fichero de salida lo podemos hacer igual que cuando compilamos un proyecto en ANSI C, añadiendo el parámetro -o (la o significa output) seguido del nombre que queremos darle:

swiftc main.swift Features/*/*.swift -o MiFicheroBinario

Y esto nos generará un fichero de salida llamado MiFicheroBinario
Si no queréis controlar que el código esté en la carpeta Features siempre podéis hacer una invocación así:

swiftc main.swift ./*/*/*.swift -o MiFicheroBinario

Espero que este artículo te haya servido, ¡hasta la próxima!

Last modified: November 24, 2019

Author

Comments

Write a Reply or Comment

Your email address will not be published.