Durante años, el control MobileImagePicker ha permitido seleccionar entre la Cámara y Fotos. ¡Fantástico! Pero el principal problema ha sido supeditar al usuario a que sólo se seleccionase una imagen del álbum seleccionado cuando la fuente seleccionada se definía a Photos. Ya no es el caso.
A partir de Xojo 2025r2 hemos cambiado ese comportamiento en MobileImagePicker implementando un controlador más moderno bajo el capó; de modo que ahora el usuario podrá seleccionar tantas fotografías como sea necesario (en función del propósito de la app), y también saca provecho de las opciones disponibles en el nuevo selector de imágenes.
Además, y como resultado de este cambio, también hemos podido mejorar y proporcionar unos metadatos EXIF más completos para cada una de las imágenes seleccionadas.
La mejor parte de todo esto es que no tendrás que cambiar una sola línea de código para sacar provecho de estas capacidades mejoradas; pero debido a la naturaleza asíncrona de “todo lo que funciona en iOS”, el manejador de evento Selected del MobileImagePicker se disparará tantas veces como imágenes haya seleccionado el usuario, de modo que has de tenerlo en cuenta a la hora de definir la lógica de tu app (probablemente quieras echar un vistazo al proyecto de ejemplo “MobilePicture-Metadata”).
La Cámara da un paso al frente
Cuando MobileImagePicker.Source se define a Camera se utiliza por omisión la cámara posterior del dispositivo, lo que está bien en la mayoría de los escenarios; pero, en ocasiones, puede que tu app requiera que se utilice la cámara frontal del dispositivo por omisión. No es un gran problema… dado que el usuario de la app sólo requiere hacer un “tap” adicional para conmutar entre ambas cámaras. ¡Pero aún sería mejor si tu app pudiese evitar ese tap adicional!
Por tanto, si tu app necesita utilizar por omisión la cámara frontal del dispositivo… a partir de ahora sólo tendrás que utilizar el nuevo valor Source.FrontCamera. De esta forma, cuando se presente el diálogo del MobileImagePicker, esta será la cámara empleada.