Saltar al contenido
WebViewGold Del vibe coding a la App Store
Español
Consigue WebViewGold

Cursor + navegación

Barra de pestañas nativa y navegación para tu app de Cursor

Un menú hamburguesa y una cabecera web son la forma más rápida de que una app de Cursor parezca un simple marcador, y eso es justo lo que los revisores evalúan según la directriz 4.2. WebViewGold añade una barra de pestañas nativa o una barra lateral en iOS y una navegación inferior o un menú lateral de Material en Android, cada uno configurado en un solo archivo, mientras tu app web sigue encargándose del enrutamiento.

Desde $109 de pago único por plataforma, o deja que nuestro equipo lo haga todo desde $698.

  • Garantía de aprobación – o te devolvemos el dinero en 14 días
  • Sin programar
  • Pago único, actualizaciones gratuitas
  • Soporte humano 24/7
  • Hecho en Alemania desde 2014 · ISO 27001

Cuatro opciones de navegación nativa

Las cuatro cargan una URL de tu app web en el WebView principal al tocarlas, así que tu enrutamiento no cambia en absoluto. Elige un patrón principal por plataforma.

Barra de pestañas de iOS (navigation footer)

Pon showNavFooter en true en Config.swift y describe de tres a cinco pestañas en FooterBar.json: una etiqueta (name), un SF Symbol (sf_symbol) y la URL que abre la pestaña (redirection_link), además de colour con dark o light para toda la barra.

Barra lateral de iOS

Pon enableSidebar en true y rellena Sidebar.json con los mismos campos. Un botón flotante abre un menú deslizante nativo, muy práctico cuando tienes más secciones de las que caben en una barra de pestañas. Funciona sola o junto al pie de navegación (documentación de la barra lateral).

Navegación inferior de Android

ENABLE_NAVIGATION_FOOTER en Config.java añade una barra de navegación inferior de Material 3. Sus entradas, iconos y etiquetas salen de res/menu/menu_drawer.xml; Google recomienda de tres a cinco destinos de primer nivel. Los modos claro y oscuro siguen automáticamente al sistema.

Menú lateral de Android (navigation drawer)

ENABLE_NAVIGATION_DRAWER añade un botón de menú flotante que abre un menú lateral de Material, controlado por el mismo archivo de menú. La navegación inferior y el menú lateral pueden funcionar a la vez, por ejemplo con las secciones principales abajo y los ajustes, la ayuda y las páginas legales en el menú lateral.

Prompt para Cursor

Pega esto en Cursor para implementar la parte de la web app. Revisa el resultado, publica y luego prueba dentro de la app WebViewGold.

Prompt para el agente de Cursor
Esta app web funciona dentro del envoltorio nativo WebViewGold, que proporciona una barra de pestañas nativa. Su user agent contiene "WebViewGold".
1. Lee la configuración del router y elige las cuatro o cinco rutas de primer nivel. Escribe docs/native/FooterBar.json (colour más una entrada de layout por pestaña con name, sf_symbol y redirection_link en https://app.yourdomain.com) y enumera las mismas entradas como elementos de menú de Android para res/menu/menu_drawer.xml.
2. Crea lib/native.ts con isNativeApp() y omite la cabecera del sitio, el menú hamburguesa y las columnas de enlaces del pie de página cuando sea true.
3. Añade un BackButton a la cabecera de cada ruta de detalle, con la ruta superior como alternativa.
4. Añade un test de Playwright que use un user agent que contenga "WebViewGold", abra directamente cada URL de pestaña, espere el estado 200 y compruebe que la cabecera del sitio no se renderiza.
5. Añade a .cursor/rules: dentro de la app, la barra de pestañas nativa es la única navegación; nunca añadas una navegación inferior web.
Informa de cada archivo que cambies.

WebViewGold nos ha permitido el tiempo de mercado más corto y eficiente que jamás sea posible de todas las otras plataformas de aplicaciones que hemos probado durante los últimos 5 años. No sé por qué no lo había descubierto antes, ¡pero estoy muy, muy contento de haberlo hecho. Actualmente cerca de 6000 descargas de aplicaciones tanto en iOS App Store & Google Play Store sin ningún problema!

Antonio Davila · CodeCanyon

¿Barra nativa, barra de pestañas web o menú del sitio web?

Barra nativa (WebViewGold)Barra de pestañas creada en la app webCabecera web con menú hamburguesa
AspectoEl del sistema: SF Symbols en iOS, Material 3 en AndroidLo que diseñes, a juego con tu marcaUn sitio web móvil
Dónde la cambiasFooterBar.json, Sidebar.json, menu_drawer.xml; llega con una actualización en la tiendaEn tu app web, en vivo con cada despliegueEn tu app web
Indicador de inicio y área seguraResuelto de forma nativaNecesita padding con env(safe-area-inset-bottom)A menudo queda tapada por el indicador de inicio
Qué hace un toqueCarga la URL de la pestaña en el WebView (una carga de página)Cambio de ruta en el cliente; instantáneo y conserva el estadoPrimero abre un menú y luego navega
Ideal paraDe tres a cinco secciones principales establesSecciones que cambian a menudo, badges y contadoresSolo el sitio web; ocúltala dentro de la app

Añade una barra de pestañas nativa a una app de Cursor

Unos 30 minutos para ambas plataformas, más una nueva compilación.

  1. Elige de tres a cinco destinos

    Lo habitual: Inicio, una lista principal o la búsqueda, una bandeja de entrada o una acción de crear, y Cuenta. Todo lo demás vive dentro de esas secciones. Cada destino necesita su propia URL en tu app de Cursor que abra la pantalla correcta al cargarse directamente, no solo mediante clics dentro de la app.

  2. iOS: escribe FooterBar.json

    Pon showNavFooter en true y añade una entrada por pestaña con name, sf_symbol (por ejemplo house, magnifyingglass, tray, person.crop.circle) y el redirection_link completo en tu dominio de producción. Ajusta colour a tu tema. Referencia: Documentación para iOS.

  3. Android: rellena menu_drawer.xml

    Pon ENABLE_NAVIGATION_FOOTER (barra inferior) o ENABLE_NAVIGATION_DRAWER (menú lateral) en true en Config.java, define los elementos, iconos y etiquetas en res/menu/menu_drawer.xml y asigna a cada entrada su URL como se explica en la Documentación para Android.

  4. Oculta la navegación web dentro de la app

    Define un user agent personalizado con un token como "WebViewGold" en Config.swift (useragent_iphone, useragent_ipad) y en Config.java (USER_AGENT), y deja de renderizar el menú de la cabecera web, el botón hamburguesa y las columnas de enlaces del pie de página cuando tu app de Cursor lo detecte. Dos sistemas de navegación en una misma pantalla son la observación de diseño más habitual.

  5. Dale un botón atrás a las páginas de detalle

    Los iPhone no tienen botón atrás del sistema. Las pestañas abren las secciones; las páginas a las que se llega desde ellas necesitan una flecha atrás visible en tu cabecera. Deja enableswipenavigation activado para que el gesto de deslizar desde el borde en iOS también vuelva atrás; en Android los usuarios tienen además el gesto atrás del sistema.

  6. Prueba cada pestaña en frío y sin sesión

    Toca cada pestaña justo después de abrir la app, después de iniciar sesión y cuando la sesión haya caducado. Una pestaña que redirige a la página de inicio de sesión debería devolver al usuario a esa misma pestaña después, no al panel principal.

FooterBar.json para una app típica

Sustituye las URLs por las rutas de tu app de Cursor en tu dominio de producción. Sidebar.json usa la misma estructura. Comprueba los nombres de los iconos en la app SF Symbols de Apple.

json
{
  "colour": "light",
  "layout": [
    { "redirection_link": "https://app.yourdomain.com/", "sf_symbol": "house", "name": "Inicio" },
    { "redirection_link": "https://app.yourdomain.com/search", "sf_symbol": "magnifyingglass", "name": "Buscar" },
    { "redirection_link": "https://app.yourdomain.com/inbox", "sf_symbol": "tray", "name": "Bandeja" },
    { "redirection_link": "https://app.yourdomain.com/account", "sf_symbol": "person.crop.circle", "name": "Cuenta" }
  ]
}

Errores de navegación que detectan los revisores

  • Una barra de pestañas nativa más la cabecera web con su propio menú: la app parece a medio terminar. Oculta uno de los dos dentro de la app.
  • Pestañas que apuntan a una dirección de vista previa o de staging, o a rutas que devuelven un 404 al cargarse directamente. Abre cada URL de pestaña en una pestaña nueva del navegador antes de compilar.
  • Más de cinco pestañas, o pestañas que abren sitios externos. Reserva las pestañas para tus propias secciones principales; las páginas legales y de ayuda van en la barra lateral o en el menú lateral.
  • Un diseño que sigue dependiendo del pie de página web para enlaces clave como la eliminación de la cuenta o la privacidad. Asegúrate de que sigan accesibles dentro de la app, por ejemplo en Cuenta.
  • Confiar solo en la barra de pestañas para la directriz 4.2. Ayuda a que la app se sienta nativa; las notificaciones push, una pantalla sin conexión y un diseño propio de una app completan el cuadro (consulta la guía de la directriz 4.2).

Preguntas frecuentes

¿Necesito una barra de pestañas nativa para superar la revisión de la App Store?

Ninguna función concreta es obligatoria. La directriz 4.2 se pregunta si la app ofrece algo más que un sitio web reempaquetado, y la 4.0 si sigue las convenciones de diseño de iOS. Una barra de pestañas nativa es una de las señales más claras para ambas, sobre todo junto a las notificaciones push y una buena pantalla sin conexión, pero no sustituye a una app web adaptada a móviles.

¿Puedo cambiar las pestañas sin una actualización en la tienda?

En la barra nativa, no: FooterBar.json, Sidebar.json y menu_drawer.xml van dentro del build. Las páginas que hay detrás de las URLs de las pestañas se actualizan con cada despliegue. Si tus secciones cambian a menudo, crea la barra de pestañas en tu app web y muéstrala solo dentro de la app.

¿La barra de pestañas nativa funciona con single-page apps?

Sí. Cada pestaña carga su URL en el WebView, así que tu hosting debe responder a cada ruta con la app (un fallback de SPA a index.html) y tu router debe abrir la pantalla correcta en una carga directa. Compruébalo pegando la URL de una pestaña en una pestaña nueva del navegador.

¿Uso el pie de navegación, la barra lateral o ambos?

Usa el pie de navegación para tres a cinco secciones principales. Añade la barra lateral de iOS o el menú lateral de Android para destinos secundarios como ajustes, ayuda y páginas legales. No repitas los mismos enlaces en ambos.

¿Qué pasa con el menú que generó Cursor?

Mantenlo para el sitio web y omítelo dentro de la app con una comprobación del user agent. En la app, la barra nativa toma el relevo; un segundo icono de menú en la cabecera confunde a usuarios y revisores.

Tres formas de llevar tu app a las tiendas

El mismo resultado, con distinta cantidad de trabajo por tu parte. Las tres incluyen la garantía de aprobación y soporte humano 24/7.

Hazlo tú mismo

$109 por plataforma, pago único

La licencia de WebViewGold: un proyecto de Xcode o Android Studio listo para usar. Pega tu URL, define nombre e icono, activa funciones, compila y envía. Actualizaciones gratuitas para siempre.

Ver planes en la página principal

Full Service

$698 por plataforma $798

Envíanos tu URL y tu icono. Nuestro equipo configura, compila y entrega tu app en 72 horas, en marca blanca y con los proyectos fuente. Ambas plataformas por $1,158.

Detalles del Full Service Con tecnología de WeSetupYourWebViewApp

Precios de la Oferta de invierno válidos hasta el 31 de diciembre de 2026.

¿Listo para lanzar tu app de Cursor?

Garantía de aprobación en App Store & Google Play – o te devolvemos el dinero en 14 días

¿Prefieres delegarlo? Full Service: configuramos, compilamos y entregamos en 72 horas, desde $698 por plataforma. ¿Preguntas? Chatea con nosotros 24/7.

Los reembolsos se conceden bajo las condiciones indicadas en nuestras FAQ: un rechazo por motivos ajenos al contenido por parte de Apple y/o Google, reclamado dentro de los 14 días posteriores a la compra.