8 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 articulo3 ago. 2026
🔄 Sincronizar una base de datos local con un servidor parece sencillo hasta que la aplicación tiene que funcionar sin conexión. Mientras no hay red, el usuario puede crear, editar y borrar datos. Cuando la conexión vuelve, necesitamos saber exactamente qué ha cambiado para enviar solo esas operaciones. Consultar toda la base de datos cada vez puede servir en una prueba sencilla, pero termina desperdiciando tiempo, batería y datos móviles.
Leer articulo1 ago. 2026
🚀 La pantalla de lanzamiento es lo primero que vemos al abrir una aplicación en iOS. Aparece de inmediato, antes incluso de que la interfaz esté preparada, y desaparece en cuanto SwiftUI puede mostrar la primera vista. Es un instante muy breve, pero influye bastante en la sensación de fluidez que transmite la aplicación.
Aquí está el detalle que suele provocar confusión: aunque el proyecto esté creado por completo con SwiftUI, la pantalla de lanzamiento no es una vista SwiftUI. La dibuja el propio sistema a partir de una configuración estática incluida en la aplicación. En ese momento nuestro código todavía no controla la interfaz.
Leer articulo