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: También en la biblioteca
Recommendations