Cambios nativos componibles que sobreviven a expo prebuild --clean (el predeterminado de SDK 57). Los config plugins codifican permisos, derechos, dependencias de Gradle y entradas de manifiesto en TypeScript controlado por versiones - no en clics editados manualmente en Xcode.
Una pila de plugins componible para una app que necesita acceso a la cámara, un esquema de URL personalizado y un destino de implementación compartido - configuración típica de producción de SDK 57.
# Valida la salida del plugin sin compilación completanpx expo config --type introspect# Genera y verifica idempotenciarm -rf ios androidnpx expo prebuild --no-installnpx expo prebuild --no-install
Lo que esto demuestra:
Plugin de biblioteca primero - expo-camera posee las cadenas de permiso de cámara
Plugin personalizado parametrizado - withAppLinks acepta domain y deduplica derechos
Propiedades de compilación al final - expo-build-properties ajusta versiones de herramientas después de plugins de características
Idempotencia - el dominio asociado se añade solo si falta
# Ve mods resueltos sin escribir ios/androidnpx expo config --type introspect# Diff después del cambio de pluginrm -rf ios android && npx expo prebuild --no-installgit diff ios # si está rastreado; equipos CNG inspeccionan en IDE# Doctor detecta config de plugin inválidonpx expo-doctor
Editar ios/ después de prebuild - El predeterminado limpio de SDK 57 borra cambios. Solución: Codifica en un plugin.
Orden de plugin incorrecto - Posterior plugin sobrescribe clave Info.plist anterior. Solución: Documenta el orden; usa introspect.
Append no idempotente - Segunda ejecución de prebuild duplica entradas de manifiesto. Solución: Verifica existencia antes de añadir.
npm install para paquetes de plugins - Desviación de versión vs binarios nativos SDK 57. Solución:npx expo install.
Probar solo en Expo Go - Los plugins que afectan derechos necesitan reconstrucción del cliente de desarrollo. Solución:expo run:ios después de que el plugin se fusione.
Importar desde ruta equivocada - Usa expo/config-plugins en plugins de app; las bibliotecas usan @expo/config-plugins por documentación de paquete.
En tiempo de prebuild en la máquina que ejecuta expo prebuild o EAS Build - no en cada recarga de Metro. Reconstruye binarios nativos después de cambios de plugins que afecten derechos o deps nativos.
¿Puedo usar config plugins sin confirmar ios/?
Sí - ese es el predeterminado de CNG. Los plugins son la fuente de verdad; las carpetas nativas son salida efímera.
¿Cómo pruebo un plugin sin una compilación completa?
npx expo config --type introspect muestra resultados de mod. Para validación final, ejecuta prebuild dos veces y confirma cero diferencias.
¿Cuál es la diferencia entre plugins de app.config y la página de config-plugins de módulos nativos?
Esta página se enfoca en flujo de trabajo CNG - composición, idempotencia y supervivencia de prebuild. ../native-modules/config-plugins/config-plugins.md cubre la superficie de API para autores de módulos.