Categoría: Píldora
-

🎯 Swift 6 prometía seguridad ante condiciones de carrera, pero llegó con una barrera enorme: cientos de errores del compilador que aparecían al activar la concurrencia estricta. Muchos desarrolladores activaban Swift 6, veían el caos de advertencias y volvían atrás de inmediato. 🔄 Swift 6.2 introduce la Approachable Concurrency, un cambio fundamental en cómo el…
-

🎯 El gesto de deslizar desde el borde izquierdo para retroceder es uno de los patrones de navegación más intuitivos de iOS. Sin embargo, por defecto en UIKit, este gesto solo funciona desde un área muy estrecha del borde izquierdo de la pantalla. 📏 Apple limita el área táctil del gesto de retroceso a aproximadamente…
-

🚦 Desde iOS 14, el sistema ya no descarga el archivo AASA directamente de tu servidor. En su lugar, usa una CDN gestionada por Apple que cachea el contenido. Esta CDN puede tardar entre 1 y 6 horas en actualizar su caché, lo que complica el desarrollo cuando necesitas probar cambios rápidamente en tu archivo…
-

🔄 Antes de iOS 16, implementar drag-and-drop o compartir datos personalizados requería trabajar con NSItemProvider, serialización manual y mucho código repetitivo. Todo eso cambió con Transferable. ✨ El protocolo Transferable del framework Core Transferable permite describir de forma declarativa cómo tus tipos personalizados se serializan y deserializan para transferencias de datos. Lo mejor: funciona automáticamente…
-

🔍 La macro @Query de SwiftData nos permite consultar datos persistentes de forma declarativa, pero muchos desarrolladores no saben que puede volverse completamente dinámico cuando lo necesitamos. ⚡ El problema surge cuando intentas usar @State directamente en un predicado: SwiftData no puede acceder a propiedades de instancia durante la inicialización de @Query. La solución está…
-

🔄 Muchos desarrolladores experimentados siguen teniendo dudas sobre cómo gestionar el ciclo de vida de las clases @Observable en SwiftUI. El problema no es solo técnico: es conceptual. Cuando creamos una clase @Observable en una vista SwiftUI, podría parecer que no necesitamos @State porque las propiedades se actualizan automáticamente. Pero aquí está el peligro oculto.…
-

🚨 Uno de los fallos más comunes en iOS es almacenar claves de API en archivos .plist o .xcconfig sin protección adicional. Aunque mantengas estos archivos fuera del control de versiones, cualquier atacante con herramientas de ingeniería inversa puede extraer las claves del binario compilado en texto plano. 🔐 El Keychain de iOS es el…
-

🧩 SwiftData llegó en 2023 como la evolución de CoreData, prometiendo sintaxis moderna y declarativa. Pero dos años después, muchos desarrolladores siguen luchando con su arquitectura porque intentan forzar patrones antiguos en lugar de aprovechar su diseño. 🔑 El framework gira en torno a dos componentes esenciales: ModelContainer gestiona el esquema y la persistencia, mientras…
-

🚀 Swift ha luchado durante años por escapar del nicho móvil y expandirse a otros casos de uso como scripting, automatización y herramientas CLI. El problema histórico ha sido Process (antes NSTask), una API heredada de Objective-C que no soporta async/await, depende de closures y usa excepciones para indicar errores. 📦 En septiembre de 2024…

