Empaquetar binarios con SPM
Inicialice un paquete ejecutable, configure el product , añada dependencias y genere un binario de release desde .build/release listo para compartir.
Empaquetar binarios con SPM es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 3 lecciones en total.
¿Por qué usar ejecutables con SwiftPM?
SwiftPM puede compilar ejecutables listos para distribuir.
- Inicialice un paquete ejecutable
- Defina products y targets
- Añada dependencias (versiones semánticas)
- Compile en modo release y encuentre el binario
Conceptos básicos de inicialización y compilación
Use swift package init --type executable para crear la estructura inicial. Después, use swift build y swift run para compilar y ejecutar.
// In your terminal (for reference):
// swift package init --type executable
// Files created: Package.swift, Sources/<Target>/main.swift, Tests/
// You can then run:
// swift build
// swift run
print("SPM exec template ready")Estructura de main.swift
Los targets ejecutables comienzan en Sources/<Target>/main.swift. Mantenga la salida de la CLI breve y clara.
// Sources/App/main.swift (example content)
let args = CommandLine.arguments.dropFirst()
if args.contains("--help") {
print("app 1.0.0\\nUsage: app [--help] [name]")
} else if let name = args.first {
print("Hello, \\(name)!")
} else {
print("Hello from app 1.0.0")
}Elementos esenciales de Package.swift
Elementos esenciales de Package.swift:
- products: .executable(name:targets:)
- targets: carpetas de código fuente y dependencias
- dependencies: paquetes externos (use versiones semánticas como from: "1.2.0")
Ejemplo de producto y dependencias
Declare un producto .executable y conecte las dependencias del target. Fije los paquetes externos mediante versiones semánticas para garantizar la estabilidad.
// Package.swift (illustrative)
// import PackageDescription
// let package = Package(
// name: "App",
// platforms: [.macOS(.v12)],
// products: [
// .executable(name: "app", targets: ["App"]),
// ],
// dependencies: [
// // Example: argument parser (replace with real URL in your project)
// // .package(url: "https://github.com/apple/swift-argument-parser", from: "1.2.0")
// ],
// targets: [
// .executableTarget(
// name: "App",
// dependencies: [
// // .product(name: "ArgumentParser", package: "swift-argument-parser")
// ]
// )
// ]
// )Compilación de release y artefacto
Distribuya el archivo de .build/release/<product>. Considere eliminar los símbolos y comprimirlo para su distribución.
// Produce an optimized binary:
// swift build -c release
// Artifact path:
// .build/release/app (product name)
//
// Optional strip symbols (platform-specific tool) or zip:
// # macOS example (illustrative)
// # strip .build/release/app
// # zip app-macos.zip .build/release/app
print("Release binary lives in .build/release/")Ubicación del artefacto de release
Comprobación rápida: ¿Dónde se encuentra el binario de release?
Repaso
Repaso: Inicialice un paquete executable, defina el producto en Package.swift, añada dependencias con versiones semánticas y distribuya el binario desde .build/release.
Preguntas frecuentes
¿La lección «Empaquetar binarios con SPM» es gratis?
Sí — el texto completo de «Empaquetar binarios con SPM» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Empaquetar binarios con SPM»?
Inicialice un paquete ejecutable, configure el product , añada dependencias y genere un binario de release desde .build/release listo para compartir. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Swift Academy?
No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.
¿Cuánto tiempo toma la lección «Empaquetar binarios con SPM»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Swift Academy?
Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Scripts de Swift (shebang de swift) y herramientas de línea de comandos
- Interoperabilidad con C/Obj-C de un vistazo (sin aspectos específicos de iOS)
- Empaquetar binarios con SPM