RustUnit elimina Swift de sus crates iOS para simplificar la integración

Fuentes: RustUnit drops Swift from iOS crates to simplify integration

RustUnit ha anunciado la eliminación de los paquetes Swift de sus crates iOS (bevy_ios_*), reemplazándolos por dependencias puramente en Rust. Esta decisión simplifica la instalación mediante cargo add y elimina la necesidad de gestionar manualmente paquetes SPM en Xcode, reduciendo la complejidad de la integración para los desarrolladores.

El cambio técnico se basa en el uso de la librería objc2, que genera bindings para los frameworks nativos de Apple (Objective-C). A diferencia de Swift, Objective-C permite un runtime dinámico que facilita la interacción entre Rust y la plataforma sin necesidad de puentes manuales complejos. Esta aproximación ha permitido eliminar miles de líneas de código, incluyendo puentes personalizados y archivos de compilación pregenerados, además de restaurar la compatibilidad con los simuladores de iOS.

La única excepción es bevy_ios_iap, que soporta StoreKit 2 exclusivamente en Swift. Para este caso, el equipo ha implementado un shim en Rust que se compila y enlaza estáticamente, manteniendo la misma experiencia de instalación sin dependencias externas. Los desarrolladores deben actualizar sus proyectos para eliminar las dependencias SPM y ajustar las versiones de Rust, asegurando así una integración más fluida y mantenible.