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

Rechazo en App Store

Directriz 4.2.2: cuando App Review dice que tu app es una colección de enlaces, un folleto o un agregador

La 4.2.2 es la hermana más concreta y más tajante de la regla de funcionalidad mínima 4.2. El revisor no solo vio tu app escasa; vio que es principalmente un menú de enlaces, un folleto de marketing o contenido ajeno dentro de un marco. La solución no son más enlaces, sino una tarea que el usuario pueda completar dentro de la app.

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

Qué dice la 4.2.2 y en qué se diferencia de la 4.2

La Directriz 4.2.2 dice que, salvo los catálogos, las apps no deberían ser principalmente material de marketing, anuncios, recortes de webs, agregadores de contenido o una colección de enlaces. El rechazo suele citar "4.2.2 - Design - Minimum Functionality" y describe lo que vio el revisor: la app muestra sobre todo contenido de marketing, enlaza sobre todo hacia fuera o reempaqueta sobre todo contenido de otros sitios, y ofrece poco valor duradero al usuario.

La Directriz 4.2 general pregunta si tu app es algo más que un sitio web reempaquetado, y la respuesta al rechazo por envoltorio mínimo trata las apps que funcionan bien como sitios web pero parecen Safari. La 4.2.2 trata del propósito. Una app con un aspecto nativo impecable puede recibirla igualmente si su contenido principal es una lista de enlaces o un anuncio de un negocio. Añadir notificaciones push a un folleto no cambia lo que es.

Seis tipos de app que reciben la etiqueta 4.2.2

Apps de "link in bio"

Un centro personal con botones a Instagram, YouTube, una tienda y una newsletter. Cada toque te saca de la app.

Folletos de agencias o empresas

Quiénes somos, servicios, equipo, testimonios, formulario de contacto. Útil para un posible cliente una vez, no algo que nadie abra dos veces.

Restaurantes y hoteles con la carta en PDF

Una carta en PDF, el horario y un botón de reserva que abre un sitio de terceros.

Agregadores de contenido ajeno

Feeds RSS, artículos incrustados de webs de noticias, listas de "mejores ofertas" con enlaces de afiliados. El valor es de las fuentes, no de la app.

Directorios de sitios web

El clásico proyecto de fin de semana con Lovable: "200 herramientas de IA" como tarjetas que abren cada una la web de la herramienta.

Apps de información de eventos

Un programa y un mapa del recinto que enlazan hacia fuera para las entradas y el streaming. Bien como página, escaso como app.

Del enlace a la función

Lo que tiene la app ahoraLo que quieren ver los revisoresPieza de WebViewGold
Botones que abren sitios externos en SafariEl contenido importante dentro de la app; salir de ella es la excepciónopenallexternalurlsinsafaribydefault en false, dominios de socios en safariblacklist, páginas secundarias en una pestaña dentro de la app con openspecialurlsinnewtab (documentación de gestión de URL)
Páginas de servicios y un formulario de contactoUna tarea con resultado: reservar, pedir, solicitar un presupuesto y seguir su estadoNotificaciones push para los cambios de estado (kPushEnabled, oneSignalID), con el permiso solicitado mediante registerpush:// tras la primera reserva
Un feed con artículos de otros sitiosContenido propio o una selección con valor personal: elementos guardados, una lista de lectura, progresoFavoritos guardados en el dispositivo con writevalue:// y readvalue:// (fragmento abajo), una página de respaldo sin conexión
Una carta en PDFUna carta real con categorías, alérgenos, favoritos, pedidos o reservas, y una tarjeta de fidelidadPase de Wallet con addpkpass://; el PDF puede quedarse como descarga adicional
Un programa de evento estáticoUna agenda personal, recordatorios antes de las sesiones, registro de entrada con la entradaqrcode:// o barcodescanner:// para el registro de entrada, enlaces .ics para el calendario, recordatorios push
Una pantalla de inicio llena de enlacesAccesos directos a las tareas que la gente repiteAcciones rápidas en la pantalla de inicio con useShortcuts y Shortcuts.json, una barra de pestañas nativa con showNavFooter

¡Estoy muy feliz de haber comprado esta aplicación! Documentación extremadamente fácil y excelente. Estaba en contacto con el servicio al cliente, respondieron muy rápido y de forma muy amigable. Resolvieron mi pregunta en un día. 10/10 lo recomendaría".

Nelis Geiger · CodeCanyon

Catálogos: la excepción explícita y sus límites

Apple exime a los catálogos de forma explícita, y muchas apps de comercio dependen de ello. Un catálogo pasa cuando se comporta como tal: navegar por categorías, buscar, filtrar, fichas de producto con disponibilidad, favoritos y quizá un localizador de tiendas o un escáner de códigos de barras para consultas en tienda (el resultado de barcodescanner:// llega a la variable de JavaScript barcodescanresult). Un catálogo que en realidad es un folleto en PDF o una cuadrícula de enlaces a una tienda web se trata como material de marketing. Los productos físicos se venden con tu pago web normal, no con compras dentro de la app; consulta la Directriz 3.1.1 para ver dónde está ese límite.

Cómo darle la vuelta a un rechazo 4.2.2

  1. Escribe cuál es la tarea

    Completa esta frase antes de tocar el código: "En [app], [quién] puede [tarea] en menos de un minuto." Si no puedes, la app necesita primero una decisión de producto, no una compilación.

  2. Dedica la primera pantalla a la tarea

    Abre directamente en la tarea, no en un banner de portada. Oculta los bloques de marketing dentro de la app con CSS solo para la app (documentación de CSS personalizado) o muestra otra página de inicio detectando la app mediante useragent_iphone / useragent_ipad en Config.swift.

  3. Mantén a los usuarios dentro de la app

    Configura la gestión de URL para que tu propio contenido y las páginas de socios se abran en la app o en una pestaña dentro de ella. Solo los perfiles sociales y los servicios realmente externos deberían ir a Safari.

  4. Dale memoria a la app

    Favoritos, historial, progreso, un carrito, un filtro guardado. Con cuenta, guárdalo en tu backend; sin cuenta, la API Read/Write Value lo conserva en el dispositivo (documentación de Read/Write Value).

  5. Añade un motivo para volver

    Un desencadenante real para una notificación: tu pedido está listo, la sesión empieza en 15 minutos, un artículo guardado vuelve a estar disponible. Una solicitud de push sin nada detrás no cuenta.

  6. Pruébala con alguien que nunca la haya visto

    Dale la compilación de TestFlight a un amigo y encárgale la tarea, no le des instrucciones. Donde se pierda, se perderá el revisor.

  7. Sube una nueva compilación y responde

    Describe la tarea y dónde está cada función usando la plantilla de abajo, y actualiza las notas de revisión.

Favoritos que se quedan en el dispositivo

Una pequeña función auxiliar para apps sin cuentas. Todo lo que va después de writevalue:// se guarda como una sola cadena; readvalue:// la devuelve como window.storedValues. En un navegador normal recurre a localStorage.

javascript
// Favoritos con la API Read/Write Value de WebViewGold, localStorage en la web
// "MyAppIOS" es un marcador que añades a useragent_iphone y useragent_ipad en Config.swift
const inApp = navigator.userAgent.includes("MyAppIOS");

function saveFavorites(ids) {
  const value = JSON.stringify({ fav: ids });
  if (inApp) {
    window.location.href = "writevalue://" + encodeURIComponent(value);
  } else {
    localStorage.setItem("favorites", value);
  }
}

function loadFavorites(callback) {
  const parse = (raw) => {
    try { return JSON.parse(decodeURIComponent(raw)).fav || []; } catch (e) { return []; }
  };
  if (!inApp) { callback(parse(localStorage.getItem("favorites") || "")); return; }
  window.location.href = "readvalue://";
  setTimeout(() => callback(parse(window.storedValues || "")), 200);
}

Plantilla de respuesta para el Centro de resolución

La plantilla se queda en inglés porque App Review trabaja en inglés.

Respuesta en el Centro de resolución (adapta las partes entre corchetes)
Hello App Review team,

Thank you for the feedback under Guideline 4.2.2. We agree that the previous build relied too much on links and marketing content, and we have reworked the app in build [number].

[App name] now helps [who] to [core job]. What changed:

1. The home screen opens on [task], not on marketing content. Promotional sections were removed from the app.
2. [Content / booking / ordering] now happens inside the app; only [social profiles] still open externally.
3. Users can [save favorites / keep a reading list / track their orders]; this is stored [in their account / on the device].
4. Push notifications inform users when [order is ready / session starts / saved item is back].

How to test: log in with [demo account] or use the app without an account, then [3 short steps that show the job].

Best regards,
[Name]

Cambios que no cuentan

  • Más enlaces, una cuadrícula de enlaces más bonita o un buscador sobre los mismos enlaces.
  • Incrustar otros sitios en marcos. Sigue siendo su contenido, y además puede plantear dudas de propiedad intelectual.
  • Una solicitud de permiso de push al arrancar sin ningún tipo de notificación detrás.
  • Empaquetar un sitio web que no es tuyo ni gestionas. Eso te lleva de la 4.2.2 hacia problemas de copias y suplantación.

Preguntas frecuentes

¿Se aprueba alguna vez una app de "link in bio"?

Rara vez por sí sola. Si eres creador, construye algo que tu audiencia use una y otra vez, como contenido exclusivo, un feed de comunidad con tus propias publicaciones, reservas o una tienda con seguimiento de pedidos, y deja los enlaces en una pantalla secundaria.

Mi app es un catálogo de productos. ¿Estoy a salvo?

Los catálogos están exentos de forma explícita, siempre que la app funcione como un catálogo: categorías, búsqueda, fichas de producto, favoritos. Un catálogo que es un PDF o una lista de enlaces a una tienda web se trata como material de marketing.

¿Puede una app de noticias agregar feeds RSS?

La agregación pura de contenido de otros medios es justo lo que menciona la 4.2.2. El periodismo propio, una selección real con tus propios resúmenes, o la personalización y la lectura sin conexión le dan a la app un valor propio.

¿Necesito cuentas de usuario para pasar la 4.2.2?

No. Las cuentas son una forma de dar memoria a la app. Los favoritos en el dispositivo, el contenido sin conexión, los escáneres o una calculadora pueden convencer igual, siempre que el usuario pueda completar una tarea.

¿En qué se diferencia de un rechazo 4.3 por spam?

La 4.2.2 juzga para qué sirve tu app. La 4.3 juzga si duplica otras apps, incluidas las tuyas. Puedes recibir ambos, y cada uno necesita su propia solución; consulta la guía de la 4.3 para la parte de los duplicados.

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?

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.