24 oct. 2026
Cuando una app termina inesperadamente, el código encargado de explicar qué ha pasado tiene un problema: puede estar ejecutándose dentro del mismo proceso que acaba de fallar. Si hay corrupción de memoria o recursos bloqueados, recopilar información deja de ser una operación sencilla. CrashReportExtension, disponible desde iOS 27, permite trasladar ese trabajo a una extensión que se ejecuta en otro proceso. Apple documenta este modelo en la presentación del framework.
La separación es la novedad más interesante. La app que ha fallado pasa a ser el objeto de análisis y la extensión se encarga de inspeccionarla. Esto permite organizar el diagnóstico con tipos de Swift y APIs de Foundation sin ejecutar toda esa lógica dentro de un manager en el proceso afectado. Aun así, conviene mantener la extensión sin mucha complejidad: recibir un fallo no debería implicar inicializar todas las librerías y servicios de la aplicación.
Leer articulo23 oct. 2026
Una pantalla de recetas puede mostrar los ingredientes junto a los pasos de preparación. En una pantalla estrecha encaja mejor colocar unos debajo de otros; al abrir un dispositivo plegable (el iPhone Duo), podemos aprovechar dos columnas. Si además queda parcialmente plegado, interesa mantener el contenido a ambos lados de la bisagra.
Con iOS 27.1, SwiftUI incorpora ArrangementView para organizar dos vistas según el espacio y las condiciones del dispositivo. Declaramos el contenido principal y el secundario, y elegimos cómo se relacionan.
Leer articulo22 oct. 2026
Generar una clave dentro del Secure Enclave protege su parte privada, pero enviar la clave pública a un servidor deja una cuestión pendiente: cómo comprobar su procedencia. Una firma válida demuestra que alguien puede utilizar la clave privada correspondiente. Por sí sola, no revela si esa clave está protegida por hardware o si se creó mediante software.
El Secure Enclave permite realizar operaciones criptográficas sin entregar la clave privada en texto claro a la aplicación. Con Security o CryptoKit podemos generar claves protegidas por este componente. Esa protección local y la verificación remota de su origen son garantías diferentes: el servidor necesita una prueba que pueda validar por su cuenta.
Leer articulo21 oct. 2026
Una aplicación descarga la programación de un museo sin problemas, pero empieza a fallar después de renovar el certificado del servidor. En el ordenador, la web sigue abriendo. En algunos iPhone, también. La tentación es buscar una excepción que permita conectar cuanto antes, aunque el primer paso debería ser entender qué ha dejado de cuadrar.
HTTPS protege los datos durante el transporte y permite autenticar al servidor. Si eliminamos esa segunda comprobación, una conexión cifrada puede terminar enviando información a quien está suplantando nuestro servicio.
Leer articulo20 oct. 2026
Hay bloques de código que apenas tienen trabajo: reciben un elemento, leen una propiedad y devuelven su valor. Los escribimos continuamente al transformar colecciones con map, pero Swift permite expresar esa intención de una forma más directa.
Desde Swift 5.2, gracias a SE-0249, podemos utilizar un literal de key path donde se espera una función con la forma (Root) -> Value. Una pequeña comodidad que ayuda a leer operaciones sobre datos sin detenerse en cada $0.
Leer articulo