13 ago. 2026
SwiftUI siempre ha defendido que la interfaz debe ser una consecuencia del estado. Si existe un dato, se muestra una vista; si el dato desaparece, también lo hace su representación. Sin embargo, hasta ahora las alertas y los diálogos de confirmación no terminaban de encajar en ese modelo. En muchos casos había que combinar un Binding<Bool> con otro valor que almacenase el elemento sobre el que debía actuar la presentación.
Leer articulo12 ago. 2026
SwiftUI utiliza el los entornos para propagar configuraciones y dependencias a través de la jerarquía de vistas. Valores del sistema como locale, colorScheme o dynamicTypeSize llegan por esta vía, pero también podemos definir los nuestros propios mediante el macro @Entry.
La sintaxis es tan sencilla que resulta fácil pasar por alto un detalle importante: el valor por defecto no debe cambiar cada vez que SwiftUI lo consulta. Si la expresión crea una instancia nueva en cada acceso, una dependencia que parecía constante puede provocar reevaluaciones innecesarias de las vistas.
Leer articulo8 ago. 2026
Los inicializadores memberwise son una de esas características de Swift que utilizamos constantemente sin prestarles demasiada atención. Declaramos una estructura, añadimos varias propiedades almacenadas y el compilador genera por nosotros un inicializador con los parámetros necesarios. Es una pequeña comodidad, pero fundamental para que los tipos por valor queden más compactos y sean más expresivos.
Sin embargo, esta síntesis automática siempre ha tenido reglas menos intuitivas de lo que parece. Los valores por defecto, las propiedades let, el control de acceso y la ubicación de otros inicializadores pueden cambiar la firma generada o incluso hacerla inaccesible. Swift 6.4 mejora uno de los casos más molestos mediante la SE-0502: una propiedad privada que ya puede inicializarse por sí misma deja de inutilizar el inicializador que necesitan el resto de propiedades.
Leer articulo6 ago. 2026
Swift permite compartir cada vez más código entre iOS, macOS, watchOS, tvOS y visionOS. Sin embargo, hasta ahora incluso una API disponible desde la misma versión en todos los sistemas obligaba a repetir cada plataforma dentro de @available y #available. Swift 6.4 incorpora anyAppleOS para expresar ese caso mediante una única condición.
La novedad aprovecha un cambio que Apple introdujo en 2025: la unificación de la numeración de sus sistemas operativos. Desde la generación 26, iOS, macOS, watchOS, tvOS y visionOS avanzan con el mismo número de versión. El compilador puede utilizar esa correspondencia para entender que anyAppleOS 26.0 representa el mismo límite de disponibilidad en toda la familia.
Leer articulo5 ago. 2026
🔐 Una aplicación puede comportarse de forma respetuosa con la privacidad y, aun así, resultar difícil de auditar. El código propio es solo una parte del producto: las bibliotecas de analítica, autenticación, red, imágenes o informes de errores también pueden recopilar información o consultar señales del dispositivo. Los Privacy Manifests convierten parte de ese comportamiento en una declaración legible tanto para Xcode como para App Store Connect.
📄 El manifiesto es un archivo de propiedades llamado PrivacyInfo.xcprivacy. No solicita permisos, no bloquea llamadas y tampoco modifica lo que ocurre durante la ejecución. Su función es describir las prácticas de privacidad de la app o del SDK que lo incluye: qué datos recopila, para qué los utiliza, si están vinculados con la identidad, si intervienen en seguimiento y qué categorías de API de motivo obligatorio consulta.
Leer articulo