Saltar al contenido principal
Versión: Siguiente

Extensiones de aplicaciones

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Las extensiones de aplicaciones te permiten ofrecer funcionalidades y contenidos personalizados fuera de tu aplicación principal. Existen diferentes tipos de extensiones en iOS, todos cubiertos en la Guía de programación de extensiones de aplicaciones. En esta guía, cubriremos brevemente cómo puedes aprovechar las extensiones de aplicaciones en iOS.

Uso de memoria en extensiones

Dado que estas extensiones se cargan fuera del espacio aislado (sandbox) regular de la aplicación, es muy probable que varias de ellas se carguen simultáneamente. Como es de esperar, estas extensiones tienen límites estrictos de uso de memoria. Ten esto presente al desarrollar tus extensiones. Siempre es altamente recomendable probar tu aplicación en un dispositivo físico, y más aún al desarrollar extensiones: con demasiada frecuencia, los desarrolladores descubren que su extensión funciona bien en el simulador de iOS, solo para recibir informes de usuarios indicando que no se carga en dispositivos reales.

Widget de Hoy

El límite de memoria para un widget de Hoy es de 16 MB. Sucede que las implementaciones de widgets de Hoy con React Native pueden funcionar de manera poco confiable porque el uso de memoria tiende a ser demasiado alto. Puedes identificar si tu widget excede el límite de memoria si muestra el mensaje 'Unable to Load' (No se puede cargar):

Siempre asegúrate de probar tus extensiones en un dispositivo real, pero ten en cuenta que esto puede no ser suficiente, especialmente con widgets de Hoy. Las compilaciones en modo depuración tienen más probabilidades de exceder los límites de memoria, mientras que las compilaciones en modo producción no fallan inmediatamente. Recomendamos encarecidamente que uses Instruments de Xcode para analizar tu uso real de memoria, ya que es muy probable que tu compilación en modo producción esté muy cerca del límite de 16 MB. En estas situaciones, puedes superar rápidamente el límite de 16 MB realizando operaciones comunes, como obtener datos de una API.

Para experimentar con los límites de las implementaciones de widgets de Hoy en React Native, intenta extender el proyecto de ejemplo en react-native-today-widget.

Otras extensiones de aplicaciones

Otros tipos de extensiones tienen límites de memoria mayores que el widget de Hoy. Por ejemplo, las extensiones de teclado personalizado tienen un límite de 48 MB, y las extensiones para compartir están limitadas a 120 MB. Implementar estas extensiones con React Native es más viable. Un ejemplo de prueba de concepto es react-native-ios-share-extension.