# Swift Newsletter: 18/11/2025

# Newsletter Desarrollo Apple y Swift (18/11/2025)

La semana del 10 al 17 de noviembre de 2025 ha sido **particularmente movida** en el ecosistema de desarrollo Apple. Entre políticas revolucionarias de la App Store, mejoras significativas en Swift para sistemas embebidos, y actualizaciones críticas de Xcode, esta semana marca un punto de inflexión en cómo Apple equilibra apertura y control bajo presión regulatoria. 

Esta semana también nos trajo dos posts importantes en [Swift.org](https://www.swift.org) sobre el futuro de Embedded Swift y mejoras en Swift Testing, tres rondas de betas para iOS 26.2 y familia, y una actualización crítica de Xcode que finalmente arregla problemas de rendimiento con la asistencia de codificación por IA. Además, la comunidad está procesando cambios significativos en las [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/) que afectan desde préstamos hasta privacidad con IA.

## Recursos y contenido oficial de Apple

### Xcode 26.1.1: cuando la IA necesita optimización

El **11 de noviembre**, Apple lanzó Xcode 26.1.1, una actualización que en apariencia es "menor" pero que en realidad es **crítica** para cualquiera que esté usando las nuevas funciones de codificación asistida por IA introducidas en Xcode 26. ¿El problema? La integración con ChatGPT y el Coding Assistant estaban consumiendo memoria como si no hubiera mañana, especialmente en proyectos con repositorios Git grandes.

La actualización trae **Swift 6.2.1** y más de 20 correcciones de errores. Entre las más importantes: el asistente de codificación ya no te dejará sin RAM cuando trabajas en proyectos grandes, las herramientas de codificación ya no desaparecen misteriosamente del editor de código, y la función "buscar texto en archivo" ahora devuelve los números de línea correctos (ese bug fue particularmente frustrante para muchos). También mejoraron el rendimiento al aplicar cambios de código sugeridos por ChatGPT, que antes podía congelar Xcode durante segundos preciosos.

Más allá de las mejoras en IA, corrigieron problemas con CallKit, Instruments, Interface Builder, localización, Previews, Simulator, Swift Packages, Swift Testing y Xcode Cloud. Una pequeña joya: ahora puedes recopilar un sysdiagnose completo desde dispositivos conectados usando `xcrun devicectl`, ideal para debugging profundo.

**¿Por qué importa?** Porque Xcode 26 fue el primer intento de Apple de integrar IA generativa directamente en el IDE, y esta actualización admite tácitamente que el lanzamiento inicial tenía problemas serios de rendimiento. Si estás usando las funciones de IA (y deberías, son genuinamente útiles), esta actualización no es opcional: ahorra horas de frustración.

### iOS 26.2 beta 3 y familia: puliendo Liquid Glass

El **17 de noviembre** llegó la tercera beta de iOS 26.2, junto con sus hermanas para iPadOS, watchOS, macOS y tvOS. Esta actualización es particularmente interesante porque muestra cómo Apple está **refinando activamente** el lenguaje de diseño Liquid Glass introducido en iOS 26, al tiempo que prepara el terreno para requisitos regulatorios en Japón y la UE.

Entre las novedades destacadas: el slider de personalización "Liquid Glass" para la pantalla de bloqueo, que permite ajustar la transparencia del reloj a través de todas las tipografías. Es un detalle pequeño pero que muestra la flexibilidad del nuevo sistema de diseño. También llegan los **códigos de un solo uso para AirDrop**, una característica de privacidad brillante que permite compartir archivos temporalmente sin agregar permanentemente contactos.

En la UE, iOS 26.2 beta está preparando la capacidad de reemplazar Siri con asistentes de voz de terceros mediante el botón lateral, cumpliendo así con regulaciones que exigen más apertura. Para desarrolladores de asistentes de voz, esto representa una **nueva puerta de entrada** al sistema operativo, aunque requiere implementar el framework [App Intents](https://developer.apple.com/documentation/appintents).

macOS Tahoe 26.2 trae mejoras de rendimiento MLX para aceleradores neuronales basados en GPU M5, alarmas en Recordatorios, y alertas de flash en pantalla para accesibilidad. iPadOS mejora multitasking permitiendo arrastrar iconos desde el Dock directamente a Slide Over o Split View, algo que debería haber existido desde hace años.

### El Programa Mini Apps

El **13 de noviembre**, Apple anunció el **Programa de Socios Mini Apps** con una comisión del **15% en lugar del 30%** estándar. Las mini apps, son definidas como experiencias autocontenidas construidas con HTML5 y JavaScript distribuidas dentro de apps nativas más grandes.

¿Por qué ahora? Bloomberg reportó que Apple y Tencent acordaron esta comisión del 15% específicamente para mini juegos de WeChat. Apple está respondiendo estratégicamente a la competencia de plataformas como el nuevo ecosistema de apps de ChatGPT y las super apps asiáticas que han demostrado que las mini apps son un modelo de negocio viable.

Para calificar, tu app anfitriona debe estar en la App Store, implementar la [Advanced Commerce API](https://developer.apple.com/documentation/storekit/in-app_purchase/advanced_commerce_api), usar la API de Declared Age Rating, emplear el sistema de compras in-app de Apple, y enviar información de consumo para solicitudes de reembolso. Es decir, Apple reduce su comisión pero **mantiene control total** del ecosistema.

**Contexto crucial**: esto coincide perfectamente con actualizaciones a las [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/) (sección 4.7) que ahora mencionan explícitamente mini apps y mini juegos HTML5/JavaScript. No es coincidencia. Apple está formalizando un modelo que antes existía en un área gris, proporcionando un marco claro mientras incentiva económicamente a los desarrolladores.

### Guías de Revisión actualizadas: nueva era de políticas

También el **13 de noviembre**, Apple publicó actualizaciones **sustanciales** a las [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/). No son cambios menores. Aquí están los más importantes:

**Protección contra apps clones** (4.1(c) - NUEVA): ahora está explícitamente prohibido usar el ícono, marca o nombre de producto de otro desarrollador sin aprobación. Esto fortalece la protección de propiedad intelectual para desarrolladores legítimos mientras bloquea apps fraudulentas que explotan el reconocimiento de marca.

**Restricciones en apps de préstamos** (3.2.2(ix)): máximo 36% APR y mínimo 60 días de plazo de reembolso. Apple efectivamente está bloqueando los modelos de préstamos del día de pago de iOS, sin importar la legislación local. Si tu app fintech ofrece préstamos, necesitas reestructurar tu producto o enfrentarás rechazo.

**Requisitos de privacidad con IA** (5.1.2(i)): debes divulgar explícitamente si compartes datos con sistemas de IA de terceros y obtener consentimiento explícito del usuario **antes** de compartir. Esto aborda preocupaciones crecientes sobre datos de usuarios siendo usados para entrenar modelos sin conocimiento. Si tu app usa servicios de IA externos, necesitas actualizar tus flujos de consentimiento **ahora**.

**Verificación de edad en apps de creadores** (1.2.1(a) - NUEVA): las apps con contenido generado por usuarios deben identificar contenido que exceda calificaciones de edad e implementar mecanismos de restricción. Plataformas UGC necesitarán inversión significativa en infraestructura de verificación de edad.

**Intercambios de criptomonedas** (5.1.1(ix)): ahora se añaden a la categoría "altamente regulada", sujetos al mismo escrutinio que apps bancarias. Requiere documentación mejorada, verificación de licencias, y controles AML.

### Newsletter "Hello Developer" de noviembre

La [newsletter mensual de Apple](https://developer.apple.com/hello/november25/) para desarrolladores llegó repleta de recursos. Destacan una galería mostrando cómo desarrolladores están incorporando Liquid Glass, el anuncio de que las **presentaciones para [Swift Student Challenge 2026](https://developer.apple.com/swift-student-challenge/)** abren del **6 al 28 de febrero de 2026**, y nuevos videos bajo demanda de "Meet with Apple" cubriendo medios inmersivos para visionOS, HTTPS Live Streaming, y optimización de energía y rendimiento.

También se anunció un evento "Game Day" online (10 am a 5 pm PT) sobre construcción de juegos para plataformas Apple, y se expandieron actividades globales de Meet with Apple a Estambul, Bangkok, Hanoi, Berlín, Londres y Yakarta. Para empresas: las Cuentas Administradas de Apple ahora pueden acceder a [TestFlight](https://developer.apple.com/testflight/) para pruebas beta, eliminando fricción en flujos de trabajo de desarrollo empresarial.

Apple también destacó tres ganadores de Swift Student Challenge 2025: **Brayden Gogis** (creador de Joybox, app social con integración de Apple Music), **Adrit Rao** (tres veces ganador, creó Signer que convierte lenguaje de señas en voz usando Core ML), y **Sofia Sandoval** (creadora de Cariño, app de tarjetas digitales con Apple Pencil). Sus historias son inspiradoras y muestran el uso real de tecnologías Apple.

### Sesiones Meet with Apple: contenido disponible en YouTube

Apple ha estado publicando activamente contenido educativo en su [canal de YouTube para desarrolladores](https://www.youtube.com/@AppleDeveloper), con especial énfasis en las sesiones "Meet with Apple" ahora disponibles para streaming bajo demanda.

**Experiencias inmersivas para visionOS** ([Día 1](https://developer.apple.com/videos/play/meet-with-apple/209/) | [Día 2](https://developer.apple.com/videos/play/meet-with-apple/210/)): evento de dos días completos centrado en crear medios inmersivos e interactivos para visionOS 26. El contenido cubre cómo enmarcar ideas creativas para Apple Immersive Video, explorar ejemplos de producciones pasadas, diseñar para interacción espacial, usar SharePlay y Personas espaciales, workflows de producción para Apple Immersive Video, y técnicas de captura junto con Apple Spatial Audio. Estas sesiones, grabadas durante el lanzamiento del Vision Pro M5, son **esenciales** si trabajas con contenido inmersivo.

**HTTPS Live Streaming (HLS)**: sesiones actualizadas sobre las mejores prácticas para implementar [HTTP Live Streaming](https://developer.apple.com/streaming/) en tus apps, cubriendo las últimas características de la tecnología de streaming adaptativo de Apple, incluidas mejoras de latencia y optimizaciones de rendimiento.

**Optimización de energía y rendimiento**: contenido técnico profundo sobre cómo hacer que tus apps consuman menos batería mientras mantienen rendimiento fluido, usando las herramientas de profiling de Xcode y las APIs de eficiencia energética de Apple.

Todas estas sesiones están disponibles en calidad 4K en YouTube, lo que facilita compartirlas con tu equipo o consultarlas cuando las necesites. Es contenido técnico **de alta calidad** que antes solo estaba disponible para asistentes a eventos presenciales.

## Evolución del lenguaje y las plataformas

### Embedded Swift: Swift conquista los microcontroladores

El **17 de noviembre**, Rauhul Varma publicó en [Swift.org](https://www.swift.org/blog/embedded-swift-improvements-coming-in-swift-6.3/) un post exhaustivo sobre **mejoras a Embedded Swift** llegando en Swift 6.3. Si no conoces Embedded Swift, es un subconjunto del lenguaje diseñado para ambientes extremadamente restringidos como microcontroladores, donde el código debe ser diminuto y eficiente.

Las mejoras son **sustanciales**. Primero, soporte para impresión de tipos de punto flotante: ahora `Float` y `Double` tienen `description` y `debugDescription` implementados completamente en Swift. Parece trivial, pero en sistemas embebidos, imprimir valores para debugging es crítico.

Segundo, **Swift MMIO 0.1.x**, un paquete para entrada/salida mapeada en memoria con soporte de generación de código vía la herramienta svd2swift y plugin SwiftPM. Incluye SVD2LLDB, un plugin de depurador. Para quien no trabaje con hardware, MMIO es cómo hablas con periféricos de hardware directamente. Este paquete formaliza patrones que antes cada quien implementaba a mano.

Tercero, interoperabilidad C mejorada con **SE-0495**: el atributo `@c` permite marcar funciones y enums Swift como compatibles con C, formalizando el experimental `@_cdecl`. Ejemplo: `@c(MyLib_initialize) public func initialize()` hace esa función llamable desde C con el nombre `MyLib_initialize`. Esto funciona con `@implementation` (SE-0436) para implementar interfaces C existentes, y el compilador valida que las firmas Swift coincidan con los headers C.

Cuarto, mejoras de debugging: LLDB ahora puede imprimir valores de tipos Swift en Embedded Swift, leer memoria con nombres de tipos Swift, inspeccionar core dumps con tipos genéricos anidados y tipos comunes de la biblioteca estándar (Dictionary, Array), y hacer unwinding apropiado de marcos de excepción ARMv7m.

Quinto, atributos de enlace: `@section` y `@used` (SE-0492) controlan la ubicación de variables globales en secciones nombradas y fuerzan la emisión de entidades aparentemente no usadas. También: verificación condicional `objectFormat` para compilar según el formato de objeto (ELF, COFF, MachO, Wasm), y el atributo `@export` (SE-0497) que controla la visibilidad de definiciones de funciones.

**¿Por qué importa?** Porque Swift está expandiéndose **seriamente** más allá de plataformas Apple tradicionales. Embedded Swift compite directamente con C en el espacio IoT y sistemas embebidos. Estas mejoras lo hacen viable para producción, no solo experimentos. Si tu equipo trabaja con hardware o está considerando Swift para backend, esto es relevante.

### Swift Testing con salida hermosa: el GSoC de Kelvin Bui

El **14 de noviembre**, [Swift.org](https://www.swift.org/blog/gsoc-2025-showcase-swift-testing-output/) publicó el showcase de Google Summer of Code 2025 de **Kelvin Bui**, quien transformó la salida de consola de [Swift Testing](https://developer.apple.com/documentation/testing) de un log plano a una **visualización jerárquica moderna**. El nuevo reporter usa caracteres Unicode de dibujo de cajas para crear una estructura de árbol clara e indentada (con fallback ASCII), mostrando relaciones entre módulos de prueba, suites y pruebas individuales.

Los fallos ahora son subnodos que muestran contexto directamente en la jerarquía, y hay una sección dedicada "FAILED TEST DETAILS" con información completa (nombre de prueba totalmente calificado, mensajes de error detallados, ubicación en código). La arquitectura usa objetos `ABI.EncodedEvent` serializados, preparando soporte futuro para arnés fuera de proceso.

Técnicamente, logró recolección thread-safe de resultados con granularidad de bloqueo balanceada, soporte de terminal multiplataforma con mejora progresiva, y un enfoque de dos niveles: mensajes cortos en línea más sección de detalles completos.

**¿Por qué importa?** Porque los desarrolladores pasan **mucho tiempo** mirando salida de pruebas. Una visualización clara reduce drásticamente el tiempo para entender qué falló y por qué. Las imágenes antes/después en el post muestran mejora dramática en legibilidad. Este tipo de pulido en herramientas de desarrollo tiene impacto compuesto: cada hora ahorrada se multiplica por miles de desarrolladores.

### Swift 6.3: las propuestas que debes conocer

Varias propuestas [Swift Evolution](https://www.swift.org/swift-evolution/) están **aceptadas** y apuntando a Swift 6.3:

**[SE-0492](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0492-section-used-attributes.md) (Control de ubicación de secciones)**: el atributo `@section` especifica ubicación de variables globales en secciones nombradas, `@used` fuerza emisión de entidades aparentemente no usadas, y `objectFormat` permite compilación condicional según formato de objeto. Útil para programación de bajo nivel.

**[SE-0495](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0495-c-functions-enums.md) (Funciones y enums compatibles con C)**: formaliza interoperabilidad C con `@c`, reemplazando `@_cdecl` experimental. Marca funciones Swift como llamables desde C y enums como representables en C. Ejemplo: `@c(MyLib_initialize) public func initialize()`.

**[SE-0497](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0497-export-attribute.md) (Control de visibilidad de definiciones de funciones)**: control explícito sobre generación de símbolos de funciones. `@export(implementation)` hace implementación disponible para clientes (reemplaza `@_alwaysEmitIntoClient`), mientras `@export(interface)` asegura que solo la interfaz (no definición) esté disponible, emitiendo símbolo llamable mientras oculta implementación. Crítico para modelo de enlace de Embedded Swift.

**[SE-0496](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0496-inline-always.md) (Atributo @inline(always))**: fuerza inlining para funciones específicas cuando el compilador podría no hacerlo por preocupaciones de tamaño.

Todas estas propuestas están **disponibles ahora** en snapshots de desarrollo de Swift y se formalizarán en Swift 6.3. No hay fecha de lanzamiento anunciada, pero el 12 de noviembre fue marcado como fecha límite para incluir cambios en 6.3.

## Artículos técnicos destacados

### El error Swift que todos deberían dejar de cometer

El **10 de noviembre**, Paul Hudson (@twostraws) publicó un [artículo crucial](https://www.hackingwithswift.com/articles/280/one-swift-mistake-everyone-should-stop-making-today): **"Un error Swift que todos deberían dejar de cometer hoy"**. Aborda el mal uso del método `replacingOccurrences(of:with:)` que causa bugs bizarros al trabajar con emojis de banderas y caracteres Unicode.

El problema: emojis de banderas como 🇨🇦🇺🇸 están compuestos por múltiples escalares Unicode (indicadores regionales). Usar `replacingOccurrences(of:with:)` puede reemplazar un emoji de bandera e **inadvertidamente afectar otros** debido a cómo se componen las secuencias de banderas Unicode.

La solución: usar la API moderna `replacing(_:with:)` que maneja correctamente caracteres compuestos. Hudson proporciona ejemplos claros antes/después, haciéndolo inmediatamente accionable.

**¿Por qué es valioso?** Porque este es un bug de producción real que desarrolladores encuentran pero a menudo no entienden. Afecta a cualquiera trabajando con contenido internacionalizado o emoji, haciéndolo altamente relevante para desarrollo iOS moderno. Es el tipo de conocimiento que ahorras compartiendo en tu equipo inmediatamente.

### Generación de imágenes con Image Playground

El **11 de noviembre**, Majid Jabrayilov publicó un [tutorial exhaustivo](https://swiftwithmajid.com/2025/11/11/generating-images-in-swift-using-image-playground/) sobre el framework [Image Playground](https://developer.apple.com/documentation/imageplayground) de Apple para generación de imágenes con IA. Explica cómo usar el tipo `ImageCreator` para generar imágenes desde descripciones de texto, combinar múltiples conceptos (texto + imágenes fuente), y manejar diferentes estilos de generación (animación, ilustración, boceto).

Incluye ejemplos prácticos de código para patrones async/await y manejo de `AsyncSequence`, conceptos de imagen (texto, imagen, dibujo, extraído), selección de estilo y verificación de disponibilidad, y manejo de `CGImage`.

**¿Por qué es valioso?** Este es uno de los primeros tutoriales exhaustivos sobre el framework de generación de imágenes IA de Apple lanzado con iOS 26. Proporciona código listo para producción y cubre casos especiales importantes como verificación de disponibilidad de estilo y detección de capacidad del dispositivo. Majid tiene reputación de tutoriales claros y bien documentados.

### Mejora de completado de código para Swift (GSoC)

El **12 de noviembre**, Ahmed Elrefaey publicó sobre el [proyecto Google Summer of Code 2025](https://www.swift.org/blog/gsoc-2025-showcase-code-completion/) que mejoró **SourceKit-LSP** para mostrar documentación completa durante completado de código en lugar de solo resúmenes breves. Las mejoras también incluyen mostrar parámetros de función e información de sobrecarga.

Este trabajo beneficia **todos los editores compatibles con LSP** incluyendo VS Code, Neovim, IntelliJ IDEA y Vim, no solo Xcode.

**¿Por qué es valioso?** Representa mejora significativa a la experiencia de desarrollador Swift a través de múltiples editores. El artículo proporciona perspectiva sobre el proceso de contribución open-source de Swift y demuestra cómo contribuciones comunitarias mejoran herramientas para todos. El trabajo impacta directamente productividad diaria de codificación.

## Curiosidades y tendencias emergentes

### Swift más allá de Apple: la expansión continúa

Esta semana mostró claramente la **expansión continua de Swift** más allá de plataformas Apple tradicionales. Embedded Swift recibiendo mejoras sustanciales en Swift 6.3 señala que Apple invierte seriamente en IoT y sistemas embebidos. El SDK Swift de Temporal trayendo ejecución durable indica maduración de Swift en backend. El SDK Swift para Android (octubre 2025) y trabajo continuo de interoperabilidad con Java muestran compromiso multiplataforma.

Sin embargo, hay tensión: SwiftUI permanece exclusivo de Apple a pesar de apertura del lenguaje. Esto crea división entre Swift-el-lenguaje (cada vez más abierto y multiplataforma) y Swift-el-ecosistema (todavía fuertemente vinculado a plataformas Apple).

### El jardín vallado bajo presión regulatoria

La semana también reveló cómo Apple está **balanceando apertura con control** bajo presión regulatoria. El soporte de asistente de voz de terceros en el botón lateral (Japón), el Programa Mini Apps con comisión reducida, el App Store web, y las actualizaciones de políticas muestran a Apple haciendo aperturas calculadas mientras mantiene control del ecosistema.

Los requisitos de privacidad con IA en las guías de revisión muestran que Apple está tomando posición de "protector de privacidad" incluso mientras integra IA en sus propias herramientas. Es estrategia de marca tanto como política técnica.

## Conclusión: equilibrio entre control y apertura

La semana del 10 al 17 de noviembre de 2025 reveló un Apple navegando transformación significativa. La compañía está abriendo aspectos de su plataforma (App Store web, asistentes de voz de terceros, comisión reducida para mini apps, mejoras multiplataforma a Swift) mientras simultáneamente fortalece control en otras áreas (mini apps bajo revisión completa, requisitos estrictos de privacidad con IA, restricciones en apps de préstamos).

Para desarrolladores, esto significa **oportunidades y restricciones** en evolución continua. El Programa Mini Apps abre nuevo modelo económico pero requiere cumplimiento estricto. Las mejoras de Embedded Swift expanden posibilidades de Swift pero requieren aprender patrones de bajo nivel. Las integraciones de IA en Xcode prometen productividad pero todavía tienen fricción.

Lo más importante: esta semana demostró que el ecosistema de desarrollo Apple está **vivo y evolucionando rápidamente**. Entre tres rondas de betas, dos posts importantes de Swift.org, actualizaciones críticas de herramientas, y cambios de política fundamentales, mantenerse actualizado requiere atención continua. Pero para aquellos que lo hacen, las recompensas son claras: acceso a plataformas con billones de usuarios, herramientas de desarrollo de clase mundial (incluso si a veces necesitan parches), y un lenguaje que cada vez es más capaz y multiplataforma.

La próxima gran fecha: **6-28 de febrero de 2026**, cuando abren presentaciones para Swift Student Challenge 2026. Si tienes estudiantes o eres mentor, empieza a planear proyectos ahora. Y mantén un ojo en iOS 26.2, que debería lanzarse en diciembre 2025 con todas estas características beta finalmente pulidas.

**Hasta la próxima semana, que tu código compile y tus betas no crasheen.** 🚀
