Swift Package Manager: guía completa con ejemplos en Swift

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Swift Package Manager (SPM): Guía completa para desarrolladores en Swift

Swift Package Manager (SPM) es la herramienta oficial para gestionar dependencias, compilar y distribuir código en Swift. Integrado directamente en el ecosistema de Swift, SPM ofrece una forma unificada y estandarizada de trabajar con paquetes, eliminando la necesidad de soluciones de terceros como CocoaPods o Carthage. SPM está estrechamente vinculado con el compilador de Swift y Xcode, lo que lo convierte en la opción ideal para proyectos modernos.

¿Para qué sirve Swift Package Manager? Principalmente, para gestionar dependencias. Cualquier proyecto que no sea trivial utiliza bibliotecas externas: para trabajar con redes (Alamofire, URLSession), para analizar JSON (SwiftyJSON), para bases de datos (GRDB, SQLite.swift), etc. SPM descarga, compila y enlaza automáticamente estas bibliotecas con tu proyecto. En segundo lugar, SPM te permite crear y publicar tus propios paquetes, haciendo que tu código sea reutilizable. En tercer lugar, proporciona una potente herramienta de compilación que incluye soporte para pruebas, recursos y complementos.

A diferencia de CocoaPods, SPM no requiere instalar una gema de Ruby ni configurar un Podfile complejo. A diferencia de Carthage, SPM no exige enlazar frameworks manualmente. SPM es el gestor de paquetes "nativo" que entiende la estructura de los proyectos Swift de fábrica. Utiliza el archivo Package.swift para describir el proyecto y sus dependencias, lo que hace que la configuración sea transparente y predecible.

Instalación

Swift Package Manager viene incluido con la distribución oficial de Swift. No requiere instalación por separado. Si tienes Swift instalado (a partir de la versión 5.0), SPM ya está disponible en tu sistema.

Verificar la instalación:

swift --version

Si ves la versión de Swift, SPM está listo para usar. También puedes verificar la herramienta directamente:

swift package --version

Instalar Swift (si no lo tienes):

  • macOS: Instala Xcode desde la Mac App Store. Swift y SPM vienen incluidos.
  • Linux (Ubuntu, CentOS, Amazon Linux): Descarga e instala la distribución desde el sitio oficial swift.org.
  • Windows: Descarga e instala la distribución desde swift.org.

Inicio rápido

Vamos a crear un nuevo proyecto ejecutable con SPM. Este es un ejemplo mínimo funcional.

1. Crear el proyecto:

mkdir MiProyectoSwift
cd MiProyectoSwift
swift package init --type executable

Este comando creará la estructura del proyecto:

  • Package.swift — el archivo de manifiesto.
  • Sources/MiProyectoSwift/main.swift — el punto de entrada.
  • Tests/ — la carpeta para las pruebas.

2. Contenido de Package.swift:

// swift-tools-version:5.9
import PackageDescription

let package = Package(
    name: "MiProyectoSwift",
    targets: [
        .executableTarget(
            name: "MiProyectoSwift"
        )
    ]
)

3. Contenido de main.swift:

print("¡Hola, Swift Package Manager!")

4. Compilar y ejecutar:

swift build
swift run

Deberías ver en la consola: ¡Hola, Swift Package Manager!

Métodos, funciones y clases principales

Veamos los elementos clave de SPM con los que trabajarás a diario. Principalmente, se trata de la API que proporciona el módulo PackageDescription.

1. Package

Firma:

Recommendations