En la WWDC 2025, Apple presentó el framework Foundation Models, una nueva forma para que cualquier iOS developer pueda integrar modelos de lenguaje directamente en sus aplicaciones usando programación Swift. Este framework permite crear experiencias inteligentes sin depender de servicios externos y manteniendo la privacidad del usuario.
En este tutorial aprenderás cómo utilizar Foundation Models con Swift, SwiftUI y Xcode para desarrollar aplicaciones compatibles con iOS, macOS y watchOS.
¿Qué es Foundation Models?
Foundation Models es un framework nativo de Apple que proporciona acceso a modelos de lenguaje ejecutados en el propio dispositivo. Para los desarrolladores Swift, esto significa que la inteligencia artificial se integra como cualquier otro framework del sistema.
Requisitos previos
- Xcode actualizado
- Dispositivo compatible con Apple Intelligence
- Conocimientos básicos de Swift y SwiftUI
- Familiaridad con programación asíncrona
Importar Foundation Models en tu proyecto
Para empezar a usar Foundation Models, simplemente importa el framework en tu archivo Swift.
import FoundationModels
Primer ejemplo: generación de texto
Vamos a crear una función básica que genere texto a partir de un prompt utilizando el modelo de lenguaje del sistema.
import FoundationModels
func generarTexto(prompt: String) async throws -> String {
let modelo = LanguageModel()
let configuracion = LanguageModelConfiguration()
let sesion = try modelo.session(configuration: configuracion)
let resultado = try await sesion.generate(prompt: prompt)
return resultado.text
}
Integración con SwiftUI
Ahora vamos a integrar esta funcionalidad en una vista creada con SwiftUI.
import SwiftUI
struct ContentView: View {
@State private var textoUsuario = ""
@State private var respuesta = ""
var body: some View {
VStack(spacing: 16) {
TextField("Escribe una pregunta", text: $textoUsuario)
.textFieldStyle(.roundedBorder)
Button("Generar respuesta") {
Task {
await generar()
}
}
ScrollView {
Text(respuesta)
.frame(maxWidth: .infinity, alignment: .leading)
}
}
.padding()
}
func generar() async {
do {
respuesta = try await generarTexto(prompt: textoUsuario)
} catch {
respuesta = "Error al generar la respuesta"
}
}
}
Generación guiada con tipos Swift
Foundation Models permite generar datos estructurados directamente en tipos Swift, lo que mejora la seguridad y fiabilidad del código.
import FoundationModels
struct Recomendacion: Generable {
let titulo: String
let descripcion: String
let duracion: Int
}
Ahora solicitamos al modelo que genere una instancia de este tipo.
let prompt = "Crea una recomendación de actividad para un fin de semana en Madrid"
let resultado = try await sesion.generate(prompt: prompt, as: Recomendacion.self)
Streaming de resultados
Para mejorar la experiencia de usuario, puedes mostrar la respuesta del modelo a medida que se genera.
let stream = try await sesion.stream(prompt: "Resume este texto en pocas líneas")
for await fragmento in stream {
respuestaParcial += fragmento
}
Manejo de contexto en sesiones
Las sesiones permiten mantener contexto entre múltiples interacciones.
let sesion = try modelo.session(configuration: configuracion)
try await sesion.addContext("El usuario está planificando un viaje")
Ejemplo completo: asistente de viajes
Este ejemplo muestra un ViewModel que utiliza Foundation Models para generar un plan de viaje.
@MainActor
class TravelViewModel: ObservableObject {
@Published var resultado = ""
func generarPlan(destino: String) async {
let prompt = "Genera un plan de viaje de tres días en \(destino)"
do {
resultado = try await generarTexto(prompt: prompt)
} catch {
resultado = "No se pudo generar el plan"
}
}
}
Vista SwiftUI asociada:
struct TravelView: View {
@StateObject private var viewModel = TravelViewModel()
@State private var destino = ""
var body: some View {
VStack {
TextField("Destino", text: $destino)
.textFieldStyle(.roundedBorder)
Button("Generar plan") {
Task {
await viewModel.generarPlan(destino: destino)
}
}
ScrollView {
Text(viewModel.resultado)
}
}
.padding()
}
}
Conclusión
Foundation Models supone un avance clave para cualquier iOS developer que trabaje con Swift, SwiftUI y Xcode. Permite integrar inteligencia artificial directamente en aplicaciones para iOS, macOS y watchOS, manteniendo privacidad, rendimiento y una API clara.
Dominar este framework es fundamental para el futuro de la programación Swift dentro del ecosistema Apple.
Si tienes cualquier duda sobre este artículo, contacta conmigo y estaré encantado de ayudarte 🙂. Puedes contactar conmigo en mi perfil de X o en mi perfil de Instagram








